home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 37
/
Aminet 37 (2000)(Schatztruhe)[!][Jun 2000].iso
/
Aminet
/
dev
/
lang
/
sofa.lha
/
sofa
/
smalleiffel
/
bin_c
/
compile_to_c5.c
< prev
next >
Wrap
C/C++ Source or Header
|
2000-03-25
|
101KB
|
4,168 lines
/*
-- ANSI C code generated by :
-- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.76Beta#1)--
-- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE --
-- Dominique COLNET and Suzanne COLLIN - colnet@loria.fr --
-- http://SmallEiffel.loria.fr/ --
*/
#include "compile_to_c.h"
void r260standard_gc_define2(T260* C){
T6 _gc_check_id=0;
T2 _rcid=0;
T0* _rc=NULL;
_rc=r260run_class(C);
_rcid=(/*RF2*/(((T50*)_rc))->_id/*4*/);
r7copy((T7*)(((T0*)ms52_783104a)),((T0*)ms14_1736a));
r7extend((T7*)(((T0*)ms52_783104a)),((T3)'\40'));
r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms14_11416));
r2append_in(_rcid,((T0*)ms52_783104a));
r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms52_6360));
r7copy((T7*)(((T0*)ms52_3073536)),((T0*)ms52_404));
r2append_in(_rcid,((T0*)ms52_3073536));
r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_69075));
r2append_in(_rcid,((T0*)ms52_3073536));
r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_361836));
r260gc_store_in(C,((T0*)ms52_3073536));
r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_94205));
r344memory_dispose(((T0*)ms52_3073536),((T0*)ms52_320),r260run_class(C));
r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_21552));
r260gc_free_in(C,((T0*)ms52_3073536));
r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms14_138));
r260gc_free_in(C,((T0*)ms52_3073536));
r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_407960));
r344memory_dispose(((T0*)ms52_3073536),((T0*)ms52_322),r260run_class(C));
r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_1591218));
r260gc_free_in(C,((T0*)ms52_3073536));
r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms14_138));
r260gc_free_in(C,((T0*)ms52_3073536));
r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_14102));
r325put_c_function((T325*)(oBC13cpp),((T0*)ms52_783104a),((T0*)ms52_3073536));
r7copy((T7*)(((T0*)ms52_783104a)),((T0*)ms14_1736a));
r7extend((T7*)(((T0*)ms52_783104a)),((T3)'\40'));
r260gc_mark_in(C,((T0*)ms52_783104a));
r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms52_248a));
r2append_in(_rcid,((T0*)ms52_783104a));
r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms52_582));
/*[IRF3.3clear*/((((T7*)((T7*)(((T0*)ms52_3073536)))))->_count)=(0);
/*]*/
_gc_check_id=(r50is_tagged(((T50*)_rc)))&&(r47no_check((T47*)(oBC13run_control)));
/*[IF*/
if(_gc_check_id){
r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_21437));
r2append_in(_rcid,((T0*)ms52_3073536));
r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_932));
}
/*FI]*/
r50gc_mark_fixed_size(((T50*)_rc),0,((T0*)ms52_3073536));
/*[IF*/
if(_gc_check_id){
r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_270));
}
/*FI]*/
r325put_c_function((T325*)(oBC13cpp),((T0*)ms52_783104a),((T0*)ms52_3073536));
r7copy((T7*)(((T0*)ms52_783104a)),((T0*)ms14_1736a));
r7extend((T7*)(((T0*)ms52_783104a)),((T3)'\40'));
r260gc_align_mark_in(C,((T0*)ms52_783104a));
r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms52_14570));
r2append_in(_rcid,((T0*)ms52_783104a));
r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms52_585));
/*[IRF3.3clear*/((((T7*)((T7*)(((T0*)ms52_3073536)))))->_count)=(0);
/*]*/
r50gc_align_mark_fixed_size(((T50*)_rc),((T0*)ms52_3073536));
r325put_c_function((T325*)(oBC13cpp),((T0*)ms52_783104a),((T0*)ms52_3073536));
r7copy((T7*)(((T0*)ms52_783104a)),((T0*)ms52_5346));
r2append_in(_rcid,((T0*)ms52_783104a));
r7copy((T7*)(((T0*)ms52_3073536)),((T0*)ms52_454797));
r2append_in(_rcid,((T0*)ms52_3073536));
r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_78075));
r2append_in(_rcid,((T0*)ms52_3073536));
r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_356700));
r2append_in(_rcid,((T0*)ms52_3073536));
r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_5802));
r325put_extern5((T325*)(oBC13cpp),((T0*)ms52_783104a),((T0*)ms52_3073536));
/*[IRF3.3clear*/((((T7*)((T7*)(((T0*)ms52_783104a)))))->_count)=(0);
/*]*/
r7extend((T7*)(((T0*)ms52_783104a)),((T3)'T'));
r2append_in(_rcid,((T0*)ms52_783104a));
r7extend((T7*)(((T0*)ms52_783104a)),((T3)'\52'));
r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms14_990));
r2append_in(_rcid,((T0*)ms52_783104a));
r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms14_4320));
r7copy((T7*)(((T0*)ms52_3073536)),((T0*)ms14_404));
r2append_in(_rcid,((T0*)ms52_3073536));
r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_884));
/*[IF*/
if((/*RF2*/((T344*)(oBC13gc_handler))->_info_flag/*1*/)){
r260gc_info_nb_in(C,((T0*)ms52_3073536));
r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_620));
}
/*FI]*/
r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_741));
r260gc_store_left_in(C,((T0*)ms52_3073536));
r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_1425));
r260gc_store_left_in(C,((T0*)ms52_3073536));
r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_3810));
r260gc_store_in(C,((T0*)ms52_3073536));
r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_13200));
r260gc_free_in(C,((T0*)ms52_3073536));
r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_11044));
r260gc_free_in(C,((T0*)ms52_3073536));
r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms14_138));
r260gc_free_in(C,((T0*)ms52_3073536));
r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_39474));
r260gc_store_left_in(C,((T0*)ms52_3073536));
r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_2370));
r260gc_store_left_in(C,((T0*)ms52_3073536));
r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_712));
r260gc_store_chunk_in(C,((T0*)ms52_3073536));
r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_103626));
r260gc_store_in(C,((T0*)ms52_3073536));
r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_11760));
r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_11024));
r260gc_store_chunk_in(C,((T0*)ms52_3073536));
r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_23640));
r260gc_initialize_chunk(C,_rcid,((T0*)ms52_3073536));
r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_31806));
r260gc_store_chunk_in(C,((T0*)ms52_3073536));
r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_1694883));
r260gc_store_chunk_in(C,((T0*)ms52_3073536));
r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_51520));
r260gc_store_chunk_in(C,((T0*)ms52_3073536));
r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_816));
r260gc_initialize_chunk(C,_rcid,((T0*)ms52_3073536));
r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_59265));
r260gc_free_in(C,((T0*)ms52_3073536));
r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_1725));
r260gc_free_in(C,((T0*)ms52_3073536));
r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms14_138));
r260gc_free_in(C,((T0*)ms52_3073536));
r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_15800));
r260gc_store_chunk_in(C,((T0*)ms52_3073536));
r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_8008));
r260gc_initialize_chunk(C,_rcid,((T0*)ms52_3073536));
r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_21504));
/*[IF*/
{/*AT*/r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_14003));
r2append_in(_rcid,((T0*)ms52_3073536));
r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms14_138));
}
/*FI]*/
r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_11862));
r2append_in(_rcid,((T0*)ms52_3073536));
r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_2118));
r325put_c_function((T325*)(oBC13cpp),((T0*)ms52_783104a),((T0*)ms52_3073536));
}
void r260with(T260* C,T0* a1,T0* a2,T0* a3){
(/*SFN*/C->_base_class_name)=a1;
r260set_generic_list_with(C,a3);
(/*SFN*/C->_written_mark)=a2;
{T260*n=((T260*)malloc(sizeof(*n))/*20*/);
*n=M260;
r260final(n,a1,X52run_type(a3));
(/*SFN*/C->_run_type_memory)=((T0*)n);
}
}
void r260c_header_pass4(T260* C){
r260standard_c_struct(C);
r260standard_c_object_model(C);
r260standard_c_print_function(C);
}
T0* r260to_runnable(T260* C,T0* a1){
T0* R=NULL;
T0* _et2=NULL;
T0* _et1=NULL;
_et1=/*(IRF4.6array_of*//*(IRF4.6first*/((/*RF2*/(((T258*)((/*RF2*/(C)->_generic_list/*8*/))))->_storage/*0*/))[0]/*)*//*)*/;
_et2=X52to_runnable(_et1,a1);
/*[IF*/
if((_et2)==((void*)(NULL))){
/*[IF*/
if((_et2)!=((void*)(NULL))){
{T68 se_tmp0;
r66add_position((*(se_tmp0=X52start_position(_et2),&se_tmp0)));
}
}
/*FI]*/
{T68 se_tmp0;
r66add_position((*(se_tmp0=X52start_position(_et1),&se_tmp0)));
}
r260fatal_error(((T0*)ms14_28644));
}
/*FI]*/
/*[IF*/
if(((/*RF2*/(C)->_run_type_memory/*16*/))==((void*)(NULL))){
R=((T0*)(C));
/*[IF*/
if((X52run_type(_et2))==((void*)(_et1))){
(/*SFN*/C->_run_type_memory)=((T0*)(C));
}
else{
{T260*n=((T260*)malloc(sizeof(*n))/*20*/);
*n=M260;
r260final(n,(/*RF2*/(C)->_base_class_name/*4*/),X52run_type(_et2));
(/*SFN*/C->_run_type_memory)=((T0*)n);
}
}
/*FI]*/
}
else if((_et2)==((void*)(_et1))){
R=((T0*)(C));
}
else{
{T260*n=((T260*)malloc(sizeof(*n))/*20*/);
*n=M260;
r260with(n,(/*RF2*/(C)->_base_class_name/*4*/),(/*RF2*/(C)->_written_mark/*12*/),_et2);
R=((T0*)n);
}
}
/*FI]*/
return R;
}
void r260standard_gc_define1(T260* C){
T2 _rcid=0;
T0* _rc=NULL;
_rc=r260run_class(C);
_rcid=(/*RF2*/(((T50*)_rc))->_id/*4*/);
r7copy((T7*)(((T0*)ms52_783104a)),((T0*)ms14_6448));
r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms14_5495));
r7extend((T7*)(((T0*)ms52_783104a)),((T3)'B'));
r2append_in(_rcid,((T0*)ms52_783104a));
r7extend((T7*)(((T0*)ms52_783104a)),((T3)'\40'));
r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms14_404));
r2append_in(_rcid,((T0*)ms52_783104a));
r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms14_138));
r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms14_5495));
r7extend((T7*)(((T0*)ms52_783104a)),((T3)'B'));
r2append_in(_rcid,((T0*)ms52_783104a));
r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms52_414));
r2append_in(_rcid,((T0*)ms52_783104a));
r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms52_78572));
r2append_in(_rcid,((T0*)ms52_783104a));
r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms52_12042));
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms52_783104a));
/*]*/
r7copy((T7*)(((T0*)ms52_783104a)),((T0*)ms14_404));
r2append_in(_rcid,((T0*)ms52_783104a));
r7extend((T7*)(((T0*)ms52_783104a)),((T3)'\52'));
r260gc_store_in(C,((T0*)ms52_783104a));
r325put_extern5((T325*)(oBC13cpp),((T0*)ms52_783104a),((T0*)ms14_1260));
r7copy((T7*)(((T0*)ms52_783104a)),((T0*)ms14_993));
r7extend((T7*)(((T0*)ms52_783104a)),((T3)'\40'));
r260gc_store_left_in(C,((T0*)ms52_783104a));
r325put_extern2((T325*)(oBC13cpp),((T0*)ms52_783104a),((T3)'0'));
r7copy((T7*)(((T0*)ms52_783104a)),((T0*)ms52_2345));
r260gc_store_chunk_in(C,((T0*)ms52_783104a));
r325put_extern5((T325*)(oBC13cpp),((T0*)ms52_783104a),((T0*)ms14_1260));
r7copy((T7*)(((T0*)ms52_783104a)),((T0*)ms14_404));
r2append_in(_rcid,((T0*)ms52_783104a));
r7extend((T7*)(((T0*)ms52_783104a)),((T3)'\52'));
r260gc_free_in(C,((T0*)ms52_783104a));
r325put_extern5((T325*)(oBC13cpp),((T0*)ms52_783104a),((T0*)ms14_1260));
/*[IF*/
if((/*RF2*/((T344*)(oBC13gc_handler))->_info_flag/*1*/)){
r7copy((T7*)(((T0*)ms52_783104a)),((T0*)ms14_993));
r7extend((T7*)(((T0*)ms52_783104a)),((T3)'\40'));
r260gc_info_nb_in(C,((T0*)ms52_783104a));
r325put_extern2((T325*)(oBC13cpp),((T0*)ms52_783104a),((T3)'0'));
}
/*FI]*/
}
void r260id_extra_information(T0* a1){
r48put_string(((T48*)a1),((T0*)ms52_9724));
/*[IF*/
{/*AT*/r48put_string(((T48*)a1),((T0*)ms52_1476));
}
/*FI]*/
}
void r260standard_just_before_gc_mark_in(T260* C,T0* a1){
r260gc_free_in(C,a1);
r7extend(((T7*)a1),((T3)'\75'));
r7append(((T7*)a1),((T0*)ms14_1260));
r7append(((T7*)a1),((T0*)ms14_138));
}
void r260gc_mark_in(T260* C,T0* a1){
r7append(((T7*)a1),((T0*)ms14_8764));
r2append_in(r260id(C),a1);
}
void r260gc_info_nb_in(T260* C,T0* a1){
r7append(((T7*)a1),((T0*)ms52_14920));
r2append_in(r260id(C),a1);
}
void r260c_type_for_external_in(T0* a1){
/*[IF*/
{/*AT*/r7append(((T7*)a1),((T0*)ms14_1736a));
r7extend(((T7*)a1),((T3)'\52'));
}
/*FI]*/
}
T0* r260run_time_mark(T260* C){
T0* R=NULL;
/*[IF*/
if(r260is_run_type(C)){
R=X52written_mark(r260run_type(C));
}
/*FI]*/
return R;
}
void r260gc_store_in(T260* C,T0* a1){
r7append(((T7*)a1),((T0*)ms52_2785));
r2append_in(r260id(C),a1);
}
T0* r260run_class(T260* C){
T0* R=NULL;
/*[IF*/
if(r260is_run_type(C)){
R=r49run_class(r260run_type(C));
}
/*FI]*/
return R;
}
void r260final(T260* C,T0* a1,T0* a2){
(/*SFN*/C->_base_class_name)=a1;
r260set_generic_list_with(C,a2);
r7copy((T7*)(oBC260tmp_written_mark),((T0*)ms15_1915));
r7extend((T7*)(oBC260tmp_written_mark),((T3)'\133'));
r7append((T7*)(oBC260tmp_written_mark),X52written_mark(a2));
r7extend((T7*)(oBC260tmp_written_mark),((T3)'\135'));
(/*SFN*/C->_written_mark)=((/*UT*/(void)((T21*)(r260string_aliaser()))),r21item(oBC260tmp_written_mark));
(/*SFN*/C->_run_type_memory)=((T0*)(C));
}
void r260fatal_error(T0* a1){
/*[IRF3.6append*/{T0* b1=a1;
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_fatal_error((T66*)(oBC13eh));
}
void r260c_type_for_target_in(T260* C,T0* a1){
r7extend(((T7*)a1),((T3)'T'));
r2append_in(r260id(C),a1);
r7extend(((T7*)a1),((T3)'\52'));
}
T6 r260stupid_switch(T260* C,T0* a1){
T6 R=0;
R=X52stupid_switch(/*(IRF4.6first*/((/*RF2*/((T258*)((/*RF2*/(C)->_generic_list/*8*/)))->_storage/*0*/))[0]/*)*/,a1);
return R;
}
void r260demangling_in(T260* C,T0* a1){
/*[IF*/
{/*AT*/r7extend(((T7*)a1),((T3)'R'));
}
/*FI]*/
r7extend(((T7*)a1),((T3)'\40'));
r7append(((T7*)a1),r260run_time_mark(C));
}
void r260gc_initialize_chunk(T260* C,T2 a1,T0* a2){
r7extend(((T7*)a2),((T3)'\52'));
r260gc_store_chunk_in(C,a2);
r7append(((T7*)a2),((T0*)ms14_266a));
r2append_in(a1,a2);
r7append(((T7*)a2),((T0*)ms14_138));
r260gc_store_in(C,a2);
r7append(((T7*)a2),((T0*)ms52_1715));
r2append_in(a1,a2);
r7append(((T7*)a2),((T0*)ms52_1005));
r260gc_store_chunk_in(C,a2);
r7append(((T7*)a2),((T0*)ms52_11742));
r260gc_store_left_in(C,a2);
r7append(((T7*)a2),((T0*)ms14_266a));
r2append_in(a1,a2);
r7append(((T7*)a2),((T0*)ms52_34060));
r260gc_store_in(C,a2);
r7append(((T7*)a2),((T0*)ms52_2040));
}
void r260c_frame_descriptor(T260* C){
r7extend((T7*)(oBC13c_frame_descriptor_format),((T3)'\45'));
/*[IF*/
{/*AT*/r7extend((T7*)(oBC13c_frame_descriptor_format),((T3)'R'));
}
/*FI]*/
r2append_in(r260id(C),oBC13c_frame_descriptor_format);
r7extend((T7*)(oBC13c_frame_descriptor_format),((T3)'\45'));
}
void r293c_mapping_procedure(T0* a1,T0* a2,T0* a3){
/*[IF*/
if(r47boost((T47*)(oBC13run_control))){
r293c_mapping_external((/*RF2*/(((T337*)a1))->_base_feature/*24*/),r337arg_count(((T337*)a1)));
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_138));
/*]*/
}
else{
r337default_mapping_procedure(((T337*)a1));
}
/*FI]*/
}
void r293c_mapping_function(T0* a1,T0* a2,T0* a3){
/*[IF*/
if(r47boost((T47*)(oBC13run_control))){
r293c_mapping_external((/*RF2*/(((T333*)a1))->_base_feature/*24*/),r333arg_count(((T333*)a1)));
}
else{
r333default_mapping_function(((T333*)a1));
}
/*FI]*/
}
void r293standard_c_define_procedure(T0* a1,T0* a2,T0* a3){
/*[IF*/
{/*AT*//*[IRF3.6c_prototype*/{T337* C1=((T337*)a1);
r337external_prototype(C1,(/*RF2*/(C1)->_base_feature/*24*/));
}/*]*/
}
/*FI]*/
/*[IF*/
if(r47no_check((T47*)(oBC13run_control))){
/*[IRF3.3clear*/((((T7*)((T7*)(oBC288body))))->_count)=(0);
/*]*/
r293wrapped_external_call((/*RF2*/(((T337*)a1))->_base_feature/*24*/),r337arg_count(((T337*)a1)));
r337c_define_with_body(((T337*)a1),oBC288body);
}
/*FI]*/
}
void r293standard_c_define_function(T0* a1,T0* a2,T0* a3){
/*[IF*/
{/*AT*//*[IRF3.6c_prototype*/{T333* C1=((T333*)a1);
r333external_prototype(C1,(/*RF2*/(C1)->_base_feature/*24*/));
}/*]*/
}
/*FI]*/
/*[IF*/
if(r47no_check((T47*)(oBC13run_control))){
/*[IRF3.3clear*/((((T7*)((T7*)(oBC288body))))->_count)=(0);
/*]*/
r7extend((T7*)(oBC288body),((T3)'R'));
r7extend((T7*)(oBC288body),((T3)'\75'));
r293wrapped_external_call((/*RF2*/(((T333*)a1))->_base_feature/*24*/),r333arg_count(((T333*)a1)));
r333c_define_with_body(((T333*)a1),oBC288body);
}
/*FI]*/
}
void r293wrapped_external_call(T0* a1,T2 a2){
T2 _i=0;
r7append((T7*)(oBC288body),/*SSFRF4*//*X289external_c_name*/r291external_c_name(((T291*)a1)));
r7extend((T7*)(oBC288body),((T3)'\50'));
/*[IF*/
{/*AT*/r7extend((T7*)(oBC288body),((T3)'C'));
/*[IF*/
if((a2)>(0)){
r7extend((T7*)(oBC288body),((T3)'\54'));
}
/*FI]*/
}
/*FI]*/
_i=1;
while (!((_i)>(a2)))
{
r7extend((T7*)(oBC288body),((T3)'a'));
r2append_in(_i,oBC288body);
_i=(_i)+(1);
/*[IF*/
if((_i)<=(a2)){
r7extend((T7*)(oBC288body),((T3)'\54'));
}
/*FI]*/
}
r7append((T7*)(oBC288body),((T0*)ms14_330));
}
void r293c_mapping_external(T0* a1,T2 a2){
T6 _tcbd=0;
T6 _eruc=0;
_eruc=/*(IRF4.2use_current*/(1)/*)*/;
/*[IF*/
if(!(_eruc)){
_tcbd=r325target_cannot_be_dropped((T325*)(oBC13cpp));
/*[IF*/
if(_tcbd){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\54');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
}
/*FI]*/
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),/*SSFRF4*//*X289external_c_name*/r291external_c_name(((T291*)a1)));
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\50');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
/*[IF*/
if(_eruc){
r325put_target_as_value((T325*)(oBC13cpp));
}
/*FI]*/
/*[IF*/
if((a2)>(0)){
/*[IF*/
if(_eruc){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\54');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
r325put_arguments((T325*)(oBC13cpp));
}
/*FI]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
/*[IF*/
if((!(_eruc))&&(_tcbd)){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
}
T0*oBC288body=NULL;
T0* r165add_comment(T165* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r44count(((T44*)((/*RF2*/(((T81*)a1))->_list/*8*/))))/*)*/)==(0))){
R=((T0*)(C));
}
else{
{T229*n=((T229*)malloc(sizeof(*n))/*12*/);
*n=M229;
r229make(n,(T0*)C,a1);
R=((T0*)n);
}
}
/*FI]*/
return R;
}
T0* r165to_runnable(T165* C,T0* a1){
T0* R=NULL;
T0* _t=NULL;
R=((T0*)(C));
_t=r267to_runnable((T267*)(r165result_type()),a1);
return R;
}
T0* r165to_real_constant(T165* C){
T0* R=NULL;
{T164*n=((T164*)malloc(sizeof(*n))/*16*/);
*n=M164;
r164make(n,(/*RF2*/(C)->_start_position/*4*/),r2to_string((/*RF2*/(C)->_value/*12*/)));
R=((T0*)n);
}
return R;
}
void r165error(T68 a1,T0* a2){
r66add_position(a1);
/*[IRF3.6append*/{T0* b1=a2;
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_error((T66*)(oBC13eh));
}
T0*oBC165result_type=NULL;
int fBC165result_type=0;
T0* r165result_type(void){
if(fBC165result_type==0){fBC165result_type=1;{
T68 _unknown_position={NULL,0};
{T267*n=((T267*)malloc(sizeof(*n))/*8*/);
*n=M267;
oBC165result_type=((T0*)n);
r267make(n,_unknown_position);
}
}}
return oBC165result_type;
}
void r165unary_minus(T165* C){
(/*SFN*/C->_value)=-((/*RF2*/(C)->_value/*12*/));
}
T0* r165static_result_base_class(void){
T0* R=NULL;
R=r49get_class(((T0*)ms15_6643));
return R;
}
void r165make(T165* C,T2 a1,T68 a2){
(/*SFN*/C->_value)=a1;
(/*SFN*/C->_start_position)=a2;
}
T2 r165isa_dca_inline_argument(void){
T2 R=0;
/*[IF*/
{/*AT*/R=-(1);
}
/*FI]*/
return R;
}
T0*oBC49parser_buffer_path=NULL;
void r49register_sys_runtime_basic_of(T0* a1){
T0* _package=NULL;
_package=((T0*)ms49_44460);
r7copy(((T7*)_package),a1);
while (!((r7nb_occurrences(((T7*)_package),((T3)'\137')))==(1)))
{
r7remove_last(((T7*)_package),1);
}
/*[IF*/
if(!(r31has((T31*)(oBC49basic_sys_runtime),_package))){
_package=r7twin(((T7*)_package));
r31add_last((T31*)(oBC49basic_sys_runtime),_package);
}
/*FI]*/
}
T0*oBC13type_string=NULL;
int fBC13type_string=0;
T0* r49type_string(void){
if(fBC13type_string==0){fBC13type_string=1;{
T68 _unknown_position={NULL,0};
{T271*n=((T271*)malloc(sizeof(*n))/*8*/);
*n=M271;
oBC13type_string=((T0*)n);
r271make(n,_unknown_position);
}
}}
return oBC13type_string;
}
void r49warning(T68 a1,T0* a2){
r66add_position(a1);
/*[IRF3.6append*/{T0* b1=a2;
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_warning((T66*)(oBC13eh));
}
T0* r49top_rf(T49* C){
T0* R=NULL;
R=X379item(oBC49stack_rf,(/*RF2*/(C)->_top/*11*/));
return R;
}
T0*oBC49stack_rf=NULL;
void r49incr_magic_count(T49* C){
(/*SFN*/C->_magic_count)=((/*RF2*/(C)->_magic_count/*7*/))+(1);
}
T0* r49base_class(T49* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(r63has((T63*)(oBC49base_class_dictionary),(/*RF2*/(((T61*)a1))->_to_string/*8*/))){
R=r63at((T63*)(oBC49base_class_dictionary),(/*RF2*/(((T61*)a1))->_to_string/*8*/));
}
else if((/*RF2*/((T34*)(oBC13eiffel_parser))->_is_running/*2*/)){
r49fatal_error(((T0*)ms49_70652));
}
else{
/*[IF*/
if(r49parser_buffer_for(C,(/*RF2*/(((T61*)a1))->_to_string/*8*/))){
R=r34analyse_class((T34*)(oBC13eiffel_parser),a1);
}
/*FI]*/
/*[IF*/
if((R)==((void*)(NULL))){
r66add_position((/*RF2*/(((T61*)a1))->_start_position/*0*/));
r49fatal_error(((T0*)ms49_30744));
}
/*FI]*/
}
/*FI]*/
return R;
}
T0* r49load_class(T49* C,T0* a1){
T0* R=NULL;
T0* _class_name=NULL;
{T61*n=((T61*)malloc(sizeof(*n))/*12*/);
*n=M61;
/*[IRF3.3unknown_position*/((((T61*)(n)))->_to_string)=(a1);
/*]*/
_class_name=((T0*)n);
}
/*[IF*/
if(r49parser_buffer_for(C,a1)){
R=r34analyse_class((T34*)(oBC13eiffel_parser),_class_name);
/*[IF*/
if((R)==((void*)(NULL))){
r49fatal_error(((T0*)ms49_23814));
}
/*FI]*/
}
else{
r49fatal_error(((T0*)ms49_23814a));
}
/*FI]*/
return R;
}
T0*oBC49loading_path=NULL;
int fBC49loading_path=0;
T0* r49loading_path(void){
if(fBC49loading_path==0){fBC49loading_path=1;{
{T44*n=((T44*)malloc(sizeof(*n))/*20*/);
*n=M44;
oBC49loading_path=((T0*)n);
r44with_capacity(n,32,1);
}
r43read_loading_path_in((T43*)(r49system_tools()),oBC49loading_path);
}}
return oBC49loading_path;
}
T0*oBC13address_of_pool=NULL;
T0* r49get_class(T0* a1){
T0* R=NULL;
T0* _class_name=NULL;
/*[IF*/
if(r63has((T63*)(oBC49base_class_dictionary),a1)){
R=r63at((T63*)(oBC49base_class_dictionary),a1);
}
else{
{T61*n=((T61*)malloc(sizeof(*n))/*12*/);
*n=M61;
/*[IRF3.3unknown_position*/((((T61*)(n)))->_to_string)=(a1);
/*]*/
_class_name=((T0*)n);
}
R=r61base_class(((T61*)_class_name));
}
/*FI]*/
return R;
}
T0*oBC13echo=NULL;
T0* r49memory_class_used(void){
T0* R=NULL;
/*[IF*/
if(r63has((T63*)(oBC49base_class_dictionary),((T0*)ms15_5508))){
R=r63at((T63*)(oBC49base_class_dictionary),((T0*)ms15_5508));
}
/*FI]*/
return R;
}
T0*oBC49c_code=NULL;
T0*oBC49registered_for_c_define=NULL;
T0*oBC49tmp_tail=NULL;
T0*oBC13parser_buffer=NULL;
T0*oBC13cecil_pool=NULL;
T6 r49is_tagged(T0* a1){
T6 R=0;
T0* _rc2=NULL;
T0* _rcd=NULL;
T0* _r=NULL;
T2 _up=0;
T2 _i=0;
_i=1;
_rcd=oBC49run_class_dictionary;
_up=(/*RF2*/(((T55*)_rcd))->_count/*36*/);
while (!((R)||((_i)>(_up))))
{
_rc2=r55item(((T55*)_rcd),_i);
_r=(/*RF2*/(((T50*)_rc2))->_running/*9*/);
/*[IF*/
if((_r)==((void*)(NULL))){
}
else if(r53fast_has(((T53*)_r),a1)){
R=(r53count(((T53*)_r)))>(1);
}
/*FI]*/
_i=(_i)+(1);
}
return R;
}
T6 r49string_at_run_time(void){
T6 R=0;
T0* _rc=NULL;
/*[IF*/
if(r55has((T55*)(oBC49run_class_dictionary),((T0*)ms15_4956))){
_rc=r55at((T55*)(oBC49run_class_dictionary),((T0*)ms15_4956));
R=(/*RF2*/(((T50*)_rc))->_at_run_time/*8*/);
}
/*FI]*/
return R;
}
T0*oBC13eiffel_parser=NULL;
void r49afd_check_deferred(T0* a1){
/*[IF*/
if(!(r385fast_has((T385*)(oBC49rf9_memory),a1))){
r385add_last((T385*)(oBC49rf9_memory),a1);
}
/*FI]*/
}
void r49add_base_class(T49* C,T0* a1){
T0* _name=NULL;
_name=(/*RF2*/((T61*)((/*RF2*/(((T51*)a1))->_name/*18*/)))->_to_string/*8*/);
r63put((T63*)(oBC49base_class_dictionary),a1,_name);
r49incr_magic_count(C);
}
T0*oBC49rename_dictionary=NULL;
int fBC49rename_dictionary=0;
T0* r49rename_dictionary(T49* C){
if(fBC49rename_dictionary==0){fBC49rename_dictionary=1;{
T0* _short_name=NULL;
T0* _full_name=NULL;
T2 _i=0;
{T23*n=((T23*)malloc(sizeof(*n))/*36*/);
*n=M23;
oBC49rename_dictionary=((T0*)n);
/*[IRF3.4make*/r23with_capacity(n,32);
/*]*/
}
_i=1;
while (!((_i)>((/*RF2*/((T44*)(r49loading_path()))->_upper/*12*/))))
{
r7copy((T7*)(oBC13tmp_path),r44item((T44*)(r49loading_path()),_i));
r7append((T7*)(oBC13tmp_path),((T0*)ms49_12960));
r35sfr_connect((T35*)(oBC13echo),oBC13tmp_file_read,oBC13tmp_path);
/*[IF*/
if(/*(IRF4.7is_connected*/((/*RF2*/((T40*)(oBC13tmp_file_read))->_path/*1*/))!=(NULL)/*)*/){
while (!(r40end_of_input((T40*)(oBC13tmp_file_read))))
{
r40read_word((T40*)(oBC13tmp_file_read));
_full_name=r7twin((T7*)(oBC41last_string));
r40read_word((T40*)(oBC13tmp_file_read));
_short_name=r7twin((T7*)(oBC41last_string));
r7prepend(((T7*)_short_name),r44item((T44*)(r49loading_path()),_i));
/*[IF*/
if(r23has(((T23*)oBC49rename_dictionary),_full_name)){
r35w_put_string(((T0*)ms49_24060));
r35w_put_string(_full_name);
r35w_put_string(((T0*)ms49_55332));
r35w_put_string(_short_name);
r35w_put_string(((T0*)ms49_5160));
r35w_put_string(r23at(((T23*)oBC49rename_dictionary),_full_name));
r35w_put_string(((T0*)ms49_112));
exit(1);
}
/*FI]*/
r23put(((T23*)oBC49rename_dictionary),_short_name,_full_name);
r40skip_separators((T40*)(oBC13tmp_file_read));
}
r40disconnect((T40*)(oBC13tmp_file_read));
}
/*FI]*/
_i=(_i)+(1);
}
}}
return oBC49rename_dictionary;
}
void r49pop(T49* C){
(/*SFN*/C->_top)=((/*RF2*/(C)->_top/*11*/))-(1);
}
T0*oBC49base_class_dictionary=NULL;
T6 r49parser_buffer_for(T49* C,T0* a1){
T6 R=0;
T2 _i=0;
r7copy((T7*)(oBC49tmp_tail),a1);
r7to_lower((T7*)(oBC49tmp_tail));
/*[IF*/
if(!(r7has_suffix((T7*)(oBC49tmp_tail),((T0*)ms13_294)))){
r7append((T7*)(oBC49tmp_tail),((T0*)ms13_294));
}
/*FI]*/
_i=(/*RF2*/((T44*)(r49loading_path()))->_lower/*16*/);
while (!(((_i)>((/*RF2*/((T44*)(r49loading_path()))->_upper/*12*/)))||(R)))
{
r7copy((T7*)(oBC49parser_buffer_path),r44item((T44*)(r49loading_path()),_i));
r7append((T7*)(oBC49parser_buffer_path),oBC49tmp_tail);
r76load_file((T76*)(oBC13parser_buffer),oBC49parser_buffer_path);
R=/*(IRF4.7is_ready*/((/*RF2*/((T76*)(oBC13parser_buffer))->_path/*0*/))!=(NULL)/*)*/;
_i=(_i)+(1);
}
/*[IF*/
if((!(R))&&(r23has((T23*)(r49rename_dictionary(C)),oBC49tmp_tail))){
r7copy((T7*)(oBC49parser_buffer_path),r23at((T23*)(r49rename_dictionary(C)),oBC49tmp_tail));
r76load_file((T76*)(oBC13parser_buffer),oBC49parser_buffer_path);
/*[IF*/
if(/*(IRF4.7is_ready*/((/*RF2*/((T76*)(oBC13parser_buffer))->_path/*0*/))!=(NULL)/*)*/){
R=1;
}
else{
r35w_put_string(((T0*)ms49_53165));
r35w_put_string(oBC49parser_buffer_path);
r35w_put_string(((T0*)ms14_160));
exit(1);
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(!(R)){
r7copy((T7*)(oBC49tmp_tail),a1);
/*[IF*/
if(!(r7has_suffix((T7*)(oBC49tmp_tail),((T0*)ms13_294)))){
r7append((T7*)(oBC49tmp_tail),((T0*)ms13_294));
}
/*FI]*/
_i=(/*RF2*/((T44*)(r49loading_path()))->_lower/*16*/);
while (!(((_i)>((/*RF2*/((T44*)(r49loading_path()))->_upper/*12*/)))||(R)))
{
r7copy((T7*)(oBC49parser_buffer_path),r44item((T44*)(r49loading_path()),_i));
r7append((T7*)(oBC49parser_buffer_path),oBC49tmp_tail);
r76load_file((T76*)(oBC13parser_buffer),oBC49parser_buffer_path);
R=/*(IRF4.7is_ready*/((/*RF2*/((T76*)(oBC13parser_buffer))->_path/*0*/))!=(NULL)/*)*/;
_i=(_i)+(1);
}
}
/*FI]*/
/*[IF*/
if(!(R)){
r35w_put_string(((T0*)ms49_48112));
r35w_put_string(a1);
r35w_put_string(((T0*)ms49_336));
/*[IRF3.3clear*/((((T7*)((T7*)(oBC49parser_buffer_path))))->_count)=(0);
/*]*/
/*[IRF3.6append_loading_path_in*/{T0* b1=oBC49parser_buffer_path;
r43append_lp_in((T43*)(r49system_tools()),b1,r49loading_path());
}/*]*/
r35w_put_string(oBC49parser_buffer_path);
}
/*FI]*/
return R;
}
void r49push(T49* C,T0* a1){
(/*SFN*/C->_top)=((/*RF2*/(C)->_top/*11*/))+(1);
X379force(oBC49stack_rf,a1,(/*RF2*/(C)->_top/*11*/));
}
T0*oBC13tmp_path=NULL;
void r49get_started(T49* C,T0* a1,T0* a2){
T2 _magic=0;
T0* _root_type=NULL;
T0* _root_proc=NULL;
T0* _root=NULL;
T0* _root_proc_name=NULL;
r35put_string((T35*)(oBC13echo),((T0*)ms49_802392));
/*[IF*/
if(r47no_check((T47*)(oBC13run_control))){
/*[IRF3.3set_generator_used*/((((T47*)((T47*)(oBC13run_control))))->_generator_used)=(1);
/*]*/
/*[IRF3.3set_generating_type_used*/((((T47*)((T47*)(oBC13run_control))))->_generating_type_used)=(1);
/*]*/
}
/*FI]*/
r35put_string((T35*)(oBC13echo),((T0*)ms49_6110));
_root=r49load_class(C,a1);
/*[IF*/
if((_root)==((void*)(NULL))){
/*[IRF3.6append*/{T0* b1=((T0*)ms49_28313);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=a1;
r7append((T7*)(oBC66explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T0*)ms14_46);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_error((T66*)(oBC13eh));
}
else{
_root_proc_name=r51root_procedure_name(((T51*)_root),a2);
_root_proc=r51root_procedure(((T51*)_root),_root_proc_name);
}
/*FI]*/
/*[IF*/
if((/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)==(0)){
/*[IF*/
if(((/*RF2*/(((T303*)_root_proc))->_arguments/*20*/))!=((void*)(NULL))){
{T68 se_tmp0;
r66add_position((*(se_tmp0=r303start_position(((T303*)_root_proc)),&se_tmp0)));
}
/*[IRF3.6append*/{T0* b1=((T0*)ms49_20957);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=a2;
r7append((T7*)(oBC66explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T0*)ms49_40975);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_error((T66*)(oBC13eh));
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if((/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)==(0)){
_root_type=(/*RF2*/((T50*)(r51run_class(((T51*)_root))))->_current_type/*0*/);
}
/*FI]*/
/*[IF*/
if((/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)==(0)){
(/*SFN*/C->_root_procedure)=r303to_run_feature(((T303*)_root_proc),_root_type,_root_proc_name);
}
/*FI]*/
/*[IF*/
if((/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)==(0)){
r35put_string((T35*)(oBC13echo),((T0*)ms49_33258));
r35put_integer((T35*)(oBC13echo),(/*RF2*/(C)->_magic_count/*7*/));
r35put_string((T35*)(oBC13echo),((T0*)ms49_4977));
/*[IRF3.2falling_down*/{T2 _i=0;
T0* _rc=NULL;
/*[IF*/
if((/*RF2*/((T47*)(oBC13run_control))->_generator_used/*10*/)){
((/*UT*/(void)((T271*)(r49type_string()))),r271set_at_run_time());
}
/*FI]*/
/*[IRF3.2falling_down*//*[IF*/
if(((/*RF2*/((T367*)(oBC366mangling_dictionary))->_count/*40*/))>(0)){
((/*UT*/(void)((T271*)(r366type_string()))),r271set_at_run_time());
}
/*FI]*/
/*]*/
/*[IRF3.2falling_down*/{T2 _i=0;
_i=/*SSWARF2*//*X349upper*/(/*RF2*/((T349*)(oBC369registered))->_upper/*12*/);
while (!((_i)<(0)))
{
r351update_with(X349item(oBC369registered,_i));
_i=(_i)-(1);
}
}/*]*/
_i=1;
while (!((_i)>((/*RF2*/((T55*)(oBC49run_class_dictionary))->_count/*36*/))))
{
_rc=r55item((T55*)(oBC49run_class_dictionary),_i);
r50falling_down(((T50*)_rc));
_i=(_i)+(1);
}
}/*]*/
r338fill_up((T338*)(oBC13cecil_pool));
while (!(((_magic)==((/*RF2*/(C)->_magic_count/*7*/)))||((/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)>(0))))
{
_magic=(/*RF2*/(C)->_magic_count/*7*/);
/*[IRF3.2falling_down*/{T2 _i=0;
T0* _rc=NULL;
/*[IF*/
if((/*RF2*/((T47*)(oBC13run_control))->_generator_used/*10*/)){
((/*UT*/(void)((T271*)(r49type_string()))),r271set_at_run_time());
}
/*FI]*/
/*[IRF3.2falling_down*//*[IF*/
if(((/*RF2*/((T367*)(oBC366mangling_dictionary))->_count/*40*/))>(0)){
((/*UT*/(void)((T271*)(r366type_string()))),r271set_at_run_time());
}
/*FI]*/
/*]*/
/*[IRF3.2falling_down*/{T2 _i=0;
_i=/*SSWARF2*//*X349upper*/(/*RF2*/((T349*)(oBC369registered))->_upper/*12*/);
while (!((_i)<(0)))
{
r351update_with(X349item(oBC369registered,_i));
_i=(_i)-(1);
}
}/*]*/
_i=1;
while (!((_i)>((/*RF2*/((T55*)(oBC49run_class_dictionary))->_count/*36*/))))
{
_rc=r55item((T55*)(oBC49run_class_dictionary),_i);
r50falling_down(((T50*)_rc));
_i=(_i)+(1);
}
}/*]*/
}
r35put_string((T35*)(oBC13echo),((T0*)ms49_26502));
r35put_integer((T35*)(oBC13echo),(/*RF2*/(C)->_magic_count/*7*/));
r35put_string((T35*)(oBC13echo),((T0*)ms49_4977));
}
/*FI]*/
/*[IF*/
if((/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)==(0)){
r35put_string((T35*)(oBC13echo),((T0*)ms49_26520));
r35put_integer((T35*)(oBC13echo),(/*RF2*/(C)->_magic_count/*7*/));
r35put_string((T35*)(oBC13echo),((T0*)ms49_4977));
/*[IRF3.2afd_check*/{T2 _i=0;
T0* _rc=NULL;
_i=1;
while (!((_i)>((/*RF2*/((T55*)(oBC49run_class_dictionary))->_count/*36*/))))
{
_rc=r55item((T55*)(oBC49run_class_dictionary),_i);
r50afd_check(((T50*)_rc));
_i=(_i)+(1);
}
}/*]*/
while (!(((_magic)==((/*RF2*/(C)->_magic_count/*7*/)))||((/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)>(0))))
{
_magic=(/*RF2*/(C)->_magic_count/*7*/);
/*[IRF3.2afd_check*/{T2 _i=0;
T0* _rc=NULL;
_i=1;
while (!((_i)>((/*RF2*/((T55*)(oBC49run_class_dictionary))->_count/*36*/))))
{
_rc=r55item((T55*)(oBC49run_class_dictionary),_i);
r50afd_check(((T50*)_rc));
_i=(_i)+(1);
}
}/*]*/
}
/*[IRF3.2check_for_deferred*/{T0* _rc=NULL;
T0* _rf9=NULL;
T2 _i=0;
_i=(/*RF2*/((T385*)(oBC49rf9_memory))->_upper/*12*/);
r35print_count((T35*)(oBC13echo),((T0*)ms49_33632),(_i)+(1));
while (!((_i)<(0)))
{
_rf9=/*(IRF4.6item*/((/*RF2*/((T385*)(oBC49rf9_memory))->_storage/*4*/))[_i]/*)*/;
_rc=X52run_class(/*SSWARF2*//*X334current_type*/(/*RF2*/(((T368*)_rf9))->_current_type/*8*/));
/*[IF*/
if((/*RF2*/(((T50*)_rc))->_at_run_time/*8*/)){
/*[IRF3.6append*/{T0* b1=X82to_string(/*SSWARF2*//*X334name*/(/*RF2*/(((T368*)_rf9))->_name/*12*/));
r7append((T7*)(oBC66explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T0*)ms49_31538);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=X52written_mark(/*SSWARF2*//*X334current_type*/(/*RF2*/(((T368*)_rf9))->_current_type/*8*/));
r7append((T7*)(oBC66explanation),b1);
}/*]*/
{T68 se_tmp0;
r49warning((*(se_tmp0=X334start_position(_rf9),&se_tmp0)),((T0*)ms14_46));
}
}
/*FI]*/
_i=(_i)-(1);
}
}/*]*/
/*[IRF3.2check_generic_formal_arguments*/{T2 _i=0;
_i=1;
while (!((_i)>((/*RF2*/((T63*)(oBC49base_class_dictionary))->_count/*36*/))))
{
r51check_generic_formal_arguments((T51*)(r63item((T63*)(oBC49base_class_dictionary),_i)));
_i=(_i)+(1);
}
}/*]*/
/*[IRF3.2afd*/{int _switch=0;
T0* _rf=NULL;
T2 _count2=0;
T2 _count1=0;
T0* _dictionary2=NULL;
_count1=1;
while (!((_count1)>((/*RF2*/((T353*)(oBC351dictionary))->_count/*36*/))))
{
_dictionary2=r353item((T353*)(oBC351dictionary),_count1);
_count2=1;
while (!((_count2)>((/*RF2*/(((T348*)_dictionary2))->_count/*36*/))))
{
_rf=r348item(((T348*)_dictionary2),_count2);
r352afd(_rf);
_count2=(_count2)+(1);
}
_count1=(_count1)+(1);
}
}/*]*/
r35put_string((T35*)(oBC13echo),((T0*)ms49_45192));
r35put_integer((T35*)(oBC13echo),(/*RF2*/(C)->_magic_count/*7*/));
r35put_string((T35*)(oBC13echo),((T0*)ms49_4977));
r341finish_falling_down((T341*)(oBC13conversion_handler));
r35put_string((T35*)(oBC13echo),((T0*)ms49_42606));
r35put_integer((T35*)(oBC13echo),(/*RF2*/(C)->_magic_count/*7*/));
r35put_string((T35*)(oBC13echo),((T0*)ms49_4977));
while (!(((_magic)==((/*RF2*/(C)->_magic_count/*7*/)))||((/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)>(0))))
{
_magic=(/*RF2*/(C)->_magic_count/*7*/);
/*[IRF3.2falling_down*/{T2 _i=0;
T0* _rc=NULL;
/*[IF*/
if((/*RF2*/((T47*)(oBC13run_control))->_generator_used/*10*/)){
((/*UT*/(void)((T271*)(r49type_string()))),r271set_at_run_time());
}
/*FI]*/
/*[IRF3.2falling_down*//*[IF*/
if(((/*RF2*/((T367*)(oBC366mangling_dictionary))->_count/*40*/))>(0)){
((/*UT*/(void)((T271*)(r366type_string()))),r271set_at_run_time());
}
/*FI]*/
/*]*/
/*[IRF3.2falling_down*/{T2 _i=0;
_i=/*SSWARF2*//*X349upper*/(/*RF2*/((T349*)(oBC369registered))->_upper/*12*/);
while (!((_i)<(0)))
{
r351update_with(X349item(oBC369registered,_i));
_i=(_i)-(1);
}
}/*]*/
_i=1;
while (!((_i)>((/*RF2*/((T55*)(oBC49run_class_dictionary))->_count/*36*/))))
{
_rc=r55item((T55*)(oBC49run_class_dictionary),_i);
r50falling_down(((T50*)_rc));
_i=(_i)+(1);
}
}/*]*/
}
r35put_string((T35*)(oBC13echo),((T0*)ms49_20556));
r35put_integer((T35*)(oBC13echo),(/*RF2*/(C)->_magic_count/*7*/));
r35put_string((T35*)(oBC13echo),((T0*)ms49_4977));
}
/*FI]*/
/*[IF*/
if(!(r66is_empty())){
/*[IRF3.6append*/{T0* b1=((T0*)ms49_98400);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_warning((T66*)(oBC13eh));
}
/*FI]*/
/*[IF*/
if((/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)==(0)){
(/*SFN*/C->_is_ready)=1;
r35print_count((T35*)(oBC13echo),((T0*)ms49_23374),(/*RF2*/((T63*)(oBC49base_class_dictionary))->_count/*36*/));
}
/*FI]*/
}
void r49id_extra_information(T0* a1,T0* a2){
T0* _path=NULL;
T0* _rc=NULL;
T0* _bc=NULL;
/*[IF*/
if((a2)==((void*)(((T0*)ms15_1216)))){
}
else if(r55has((T55*)(oBC49run_class_dictionary),a2)){
_rc=r55at((T55*)(oBC49run_class_dictionary),a2);
_bc=r50base_class(((T50*)_rc));
}
else if(r63has((T63*)(oBC49base_class_dictionary),a2)){
_bc=r63at((T63*)(oBC49base_class_dictionary),a2);
}
/*FI]*/
/*[IF*/
if((_bc)!=((void*)(NULL))){
r48put_string(((T48*)a1),((T0*)ms49_12688));
_path=(/*RF2*/(((T51*)_bc))->_path/*4*/);
r48put_string(((T48*)a1),_path);
/*[IRF3.6put_character*/{T48* C1=((T48*)a1);
T3 b1=((T3)'\42');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*[IRF3.6put_character*/{T48* C1=((T48*)a1);
T3 b1=((T3)'\40');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
r51id_extra_information(((T51*)_bc),a1);
}
/*FI]*/
/*[IF*/
if((_rc)!=((void*)(NULL))){
r50id_extra_information(((T50*)_rc),a1);
}
/*FI]*/
}
T6 r49is_used(T0* a1){
T6 R=0;
R=r63has((T63*)(oBC49base_class_dictionary),a1);
return R;
}
T0*oBC13manifest_string_pool=NULL;
T0*oBC49basic_sys_runtime=NULL;
T0* r49run_class(T0* a1){
T0* R=NULL;
T0* _run_string=NULL;
_run_string=X52run_time_mark(a1);
/*[IF*/
if(r55has((T55*)(oBC49run_class_dictionary),_run_string)){
R=r55at((T55*)(oBC49run_class_dictionary),_run_string);
}
else{
{T50*n=((T50*)malloc(sizeof(*n))/*39*/);
*n=M50;
r50make(n,a1);
R=((T0*)n);
}
}
/*FI]*/
return R;
}
void r49fatal_error(T0* a1){
/*[IRF3.6append*/{T0* b1=a1;
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_fatal_error((T66*)(oBC13eh));
}
T0*oBC13system_tools=NULL;
int fBC13system_tools=0;
T0* r49system_tools(void){
if(fBC13system_tools==0){fBC13system_tools=1;{
{T43*n=((T43*)malloc(sizeof(*n))/*17*/);
*n=M43;
oBC13system_tools=((T0*)n);
r43make(n);
}
}}
return oBC13system_tools;
}
void r49compile_to_c(T49* C){
T6 _gc_flag=0;
T2 _i=0;
T2 _run_count=0;
T0* _rc=NULL;
T0* _procedure=NULL;
T0* _root_class=NULL;
_root_class=(/*RF2*/((T47*)(oBC13run_control))->_root_class/*5*/);
_procedure=r47root_procedure((T47*)(oBC13run_control));
r49get_started(C,_root_class,_procedure);
/*[IF*/
if((/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)==(0)){
r325get_started((T325*)(oBC13cpp));
r325swap_on_h((T325*)(oBC13cpp));
_gc_flag=!((/*RF2*/((T344*)(oBC13gc_handler))->_is_off/*0*/));
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms49_16698));
/*]*/
_i=1;
while (!((_i)>((/*RF2*/((T55*)(oBC49run_class_dictionary))->_count/*36*/))))
{
_rc=r55item((T55*)(oBC49run_class_dictionary),_i);
/*[IF*/
if((/*RF2*/(((T50*)_rc))->_at_run_time/*8*/)){
_run_count=(_run_count)+(1);
}
/*FI]*/
r50demangling(((T50*)_rc));
_i=(_i)+(1);
}
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms49_15779));
/*]*/
r325put_comment_line((T325*)(oBC13cpp),((T0*)ms49_23035aaa));
_i=1;
while (!((_i)>((/*RF2*/((T55*)(oBC49run_class_dictionary))->_count/*36*/))))
{
_rc=r55item((T55*)(oBC49run_class_dictionary),_i);
r50c_header_pass1(((T50*)_rc));
_i=(_i)+(1);
}
r325put_comment_line((T325*)(oBC13cpp),((T0*)ms49_23035aa));
_i=1;
while (!((_i)>((/*RF2*/((T55*)(oBC49run_class_dictionary))->_count/*36*/))))
{
_rc=r55item((T55*)(oBC49run_class_dictionary),_i);
r50c_header_pass2(((T50*)_rc));
_i=(_i)+(1);
}
r325put_comment_line((T325*)(oBC13cpp),((T0*)ms49_23035a));
_i=1;
while (!((_i)>((/*RF2*/((T55*)(oBC49run_class_dictionary))->_count/*36*/))))
{
_rc=r55item((T55*)(oBC49run_class_dictionary),_i);
r50c_header_pass3(((T50*)_rc));
_i=(_i)+(1);
}
r325put_comment_line((T325*)(oBC13cpp),((T0*)ms49_23035));
_i=1;
while (!((_i)>((/*RF2*/((T55*)(oBC49run_class_dictionary))->_count/*36*/))))
{
_rc=r55item((T55*)(oBC49run_class_dictionary),_i);
r50c_header_pass4(((T50*)_rc));
_i=(_i)+(1);
}
/*[IF*/
if(!(r55has((T55*)(oBC49run_class_dictionary),((T0*)ms15_58075)))){
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms49_13140));
/*]*/
/*[IF*/
if(r47no_check((T47*)(oBC13run_control))){
r325put_c_function((T325*)(oBC13cpp),((T0*)ms49_25720),((T0*)ms49_111462));
}
/*FI]*/
}
/*FI]*/
r366c_define1(r49string_at_run_time());
r325customize_runtime((T325*)(oBC13cpp),oBC49basic_sys_runtime);
/*[IF*/
if(_gc_flag){
/*[IRF3.2define1*/r35put_string((T35*)(oBC13echo),((T0*)ms344_19240));
r325macro_def((T325*)(oBC13cpp),((T0*)ms344_9135),8192);
r325macro_def((T325*)(oBC13cpp),((T0*)ms344_9243),32768);
r325sys_runtime_h((T325*)(oBC13cpp),((T0*)ms14_6588));
/*[IRF3.2compute_ceils*/{T2 _kb_count=0;
T0* _rc=NULL;
T0* _rcd=NULL;
T2 _i=0;
T2 _rsoc_count_ceil=0;
T2 _fsoc_count_ceil=0;
_rcd=oBC49run_class_dictionary;
_i=1;
while (!((_i)>((/*RF2*/(((T55*)_rcd))->_count/*36*/))))
{
_rc=r55item(((T55*)_rcd),_i);
/*[IF*/
if((/*RF2*/(((T50*)_rc))->_at_run_time/*8*/)){
/*[IF*/
if(X52is_native_array((/*RF2*/(((T50*)_rc))->_current_type/*0*/))){
_rsoc_count_ceil=(_rsoc_count_ceil)+(1);
}
else{
_fsoc_count_ceil=(_fsoc_count_ceil)+(1);
}
/*FI]*/
}
/*FI]*/
_i=(_i)+(1);
}
_fsoc_count_ceil=(4)*(_fsoc_count_ceil);
_kb_count=(_fsoc_count_ceil)*((8192)/(1024));
/*[IF*/
if((_kb_count)<(256)){
_fsoc_count_ceil=(256)/((8192)/(1024));
}
/*FI]*/
_rsoc_count_ceil=(3)*(_rsoc_count_ceil);
_kb_count=(_rsoc_count_ceil)*((32768)/(1024));
/*[IF*/
if((_kb_count)<(256)){
_rsoc_count_ceil=(256)/((32768)/(1024));
}
/*FI]*/
r325put_extern6((T325*)(oBC13cpp),((T0*)ms344_100072a),_fsoc_count_ceil);
r325put_extern6((T325*)(oBC13cpp),((T0*)ms344_100072),_rsoc_count_ceil);
}/*]*/
r325sys_runtime_c(((T0*)ms14_6588));
r325swap_on_h((T325*)(oBC13cpp));
r325put_extern2((T325*)(oBC13cpp),((T0*)ms344_99414),((T3)'0'));
/*]*/
}
/*FI]*/
/*[IRF3.2compile_routines*/{T0* _bcn=NULL;
T6 _stop=0;
T2 _i=0;
T2 _deep=0;
T0* _ct=NULL;
T0* _rc_string=NULL;
T0* _rc=NULL;
r35put_string((T35*)(oBC13echo),((T0*)ms49_46376));
r35put_integer((T35*)(oBC13echo),(/*RF2*/((T55*)(oBC49run_class_dictionary))->_count/*36*/));
r35put_string((T35*)(oBC13echo),((T0*)ms49_8325));
/*[IRF3.3swap_on_c*/((((T325*)((T325*)(oBC13cpp))))->_current_out)=(oBC325out_c);
/*]*/
_i=1;
while (!((_i)>((/*RF2*/((T55*)(oBC49run_class_dictionary))->_count/*36*/))))
{
_rc=r55item((T55*)(oBC49run_class_dictionary),_i);
_ct=(/*RF2*/(((T50*)_rc))->_current_type/*0*/);
/*[IF*/
if(X52is_basic_eiffel_expanded(_ct)){
r50compile_to_c(((T50*)_rc),0);
}
else if(X52is_string(_ct)){
_rc_string=_rc;
}
/*FI]*/
_i=(_i)+(1);
}
_i=1;
while (!((_i)>((/*RF2*/((T55*)(oBC49run_class_dictionary))->_count/*36*/))))
{
_rc=r55item((T55*)(oBC49run_class_dictionary),_i);
_ct=(/*RF2*/(((T50*)_rc))->_current_type/*0*/);
/*[IF*/
if(X52is_bit(_ct)){
r50compile_to_c(((T50*)_rc),0);
}
/*FI]*/
_i=(_i)+(1);
}
_i=1;
while (!((_i)>((/*RF2*/((T55*)(oBC49run_class_dictionary))->_count/*36*/))))
{
_rc=r55item((T55*)(oBC49run_class_dictionary),_i);
_bcn=(/*RF2*/((T61*)(r50base_class_name(((T50*)_rc))))->_to_string/*8*/);
/*[IF*/
if((((T0*)ms15_17448))==((void*)(_bcn))){
r50compile_to_c(((T50*)_rc),0);
}
/*FI]*/
_i=(_i)+(1);
}
/*[IF*/
if((_rc_string)!=((void*)(NULL))){
r50compile_to_c(((T50*)_rc_string),0);
}
/*FI]*/
_i=1;
while (!((_i)>((/*RF2*/((T55*)(oBC49run_class_dictionary))->_count/*36*/))))
{
_rc=r55item((T55*)(oBC49run_class_dictionary),_i);
_ct=(/*RF2*/(((T50*)_rc))->_current_type/*0*/);
_bcn=(/*RF2*/((T61*)(X52base_class_name(_ct)))->_to_string/*8*/);
/*[IF*/
if(((((T0*)ms15_1915))==((void*)(_bcn)))||((((T0*)ms15_14817))==((void*)(_bcn)))){
r50compile_to_c(((T50*)_rc),0);
}
/*FI]*/
_i=(_i)+(1);
}
_i=1;
while (!((_i)>((/*RF2*/((T55*)(oBC49run_class_dictionary))->_count/*36*/))))
{
_rc=r55item((T55*)(oBC49run_class_dictionary),_i);
_ct=(/*RF2*/(((T50*)_rc))->_current_type/*0*/);
/*[IF*/
if(X52is_generic(_ct)){
r50compile_to_c(((T50*)_rc),0);
}
/*FI]*/
_i=(_i)+(1);
}
_deep=6;
while (!(_stop))
{
_stop=1;
_i=1;
while (!((_i)>((/*RF2*/((T55*)(oBC49run_class_dictionary))->_count/*36*/))))
{
_rc=r55item((T55*)(oBC49run_class_dictionary),_i);
/*[IF*/
if(!((/*RF2*/(((T50*)_rc))->_compile_to_c_done/*17*/))){
_stop=0;
r50compile_to_c(((T50*)_rc),_deep);
}
/*FI]*/
_i=(_i)+(1);
}
_deep=(_deep)-(1);
}
}/*]*/
r325cecil_define((T325*)(oBC13cpp));
r325define_main((T325*)(oBC13cpp),(/*RF2*/(C)->_root_procedure/*0*/));
r366c_define2(r49string_at_run_time());
/*[IRF3.2compile_registered_for_c_define*/{T2 _i=0;
_i=(/*RF2*/((T372*)(oBC49registered_for_c_define))->_upper/*12*/);
while (!((_i)<(0)))
{
r368c_define((T368*)(/*(IRF4.6item*/((/*RF2*/((T372*)(oBC49registered_for_c_define))->_storage/*4*/))[_i]/*)*/));
_i=(_i)-(1);
}
}/*]*/
/*[IRF3.2c_define*/{T2 _i=0;
_i=/*SSWARF2*//*X349upper*/(/*RF2*/((T349*)(oBC369registered))->_upper/*12*/);
/*[IF*/
if((_i)>=(0)){
while (!((_i)<(0)))
{
X334address_of_c_define(X349item(oBC369registered,_i),/*(IRF4.6item*/((/*RF2*/((T370*)(oBC369caller_memory))->_storage/*4*/))[_i]/*)*/);
_i=(_i)-(1);
}
}
/*FI]*/
}/*]*/
/*[IF*/
if(_gc_flag){
r344define2((T344*)(oBC13gc_handler));
}
/*FI]*/
/*[IRF3.2c_define*/{T2 _i=0;
_i=1;
while (!((_i)>((/*RF2*/((T362*)(oBC361manifest_array_types))->_count/*36*/))))
{
r361c_define_for(r362item((T362*)(oBC361manifest_array_types),_i));
_i=(_i)+(1);
}
}/*]*/
/*[IRF3.2c_define*/{int _switch=0;
T2 _total=0;
T2 _count2=0;
T2 _count1=0;
T0* _dictionary2=NULL;
/*[IF*/
if(!(/*(IRF4.7is_empty*/((/*RF2*/((T353*)(oBC351dictionary))->_count/*36*/))==(0)/*)*/)){
/*[IRF3.3swap_on_c*/((((T325*)((T325*)(oBC13cpp))))->_current_out)=(oBC325out_c);
/*]*/
_count1=1;
while (!((_count1)>((/*RF2*/((T353*)(oBC351dictionary))->_count/*36*/))))
{
_dictionary2=r353item((T353*)(oBC351dictionary),_count1);
_count2=1;
while (!((_count2)>((/*RF2*/(((T348*)_dictionary2))->_count/*36*/))))
{
r352c_define(_switch,r348item(((T348*)_dictionary2),_count2));
_total=(_total)+(1);
_count2=(_count2)+(1);
/*[IF*/
if(((_total)%(18))==(0)){
r325padding_here((T325*)(oBC13cpp));
}
/*FI]*/
}
_count1=(_count1)+(1);
}
}
/*FI]*/
r35print_count((T35*)(oBC13echo),((T0*)ms351_30015),_total);
}/*]*/
r325define_used_basics((T325*)(oBC13cpp));
r325write_make_file((T325*)(oBC13cpp));
}
else{
/*[IRF3.6append*/{T0* b1=((T0*)ms49_33154);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_error((T66*)(oBC13eh));
}
/*FI]*/
}
T6 r49stupid_switch(T0* a1,T0* a2){
T6 R=0;
/*[IF*/
if((a2)==((void*)(NULL))){
R=1;
}
else if((r53count(((T53*)a2)))==(1)){
R=1;
}
else{
R=X52stupid_switch(a1,a2);
}
/*FI]*/
return R;
}
T6 r49same_base_feature(T0* a1,T0* a2){
T6 R=0;
T0* _rc=NULL;
T0* _dyn_rf=NULL;
T0* _f=NULL;
T2 _i=0;
R=1;
_i=(/*RF2*/(((T53*)a2))->_upper/*8*/);
_f=/*SSWA2*//*X334base_feature*/(/*RF2*/(((T368*)a1))->_base_feature/*24*/);
while (!((!(R))||((_i)==(0))))
{
_rc=r53item(((T53*)a2),_i);
_dyn_rf=r50dynamic(((T50*)_rc),a1);
/*[IF*/
if((_f)==((void*)(/*SSWA2*//*X334base_feature*/(/*RF2*/(((T368*)_dyn_rf))->_base_feature/*24*/)))){
/*[IF*/
if((X82to_string(/*SSWARF2*//*X334name*/(/*RF2*/(((T368*)_dyn_rf))->_name/*12*/)))!=((void*)(X82to_string(/*SSWARF2*//*X334name*/(/*RF2*/(((T368*)a1))->_name/*12*/))))){
R=0;
}
/*FI]*/
}
else{
R=0;
}
/*FI]*/
_i=(_i)-(1);
}
return R;
}
T0*oBC49run_class_dictionary=NULL;
T0*oBC49rf9_memory=NULL;
void r49reference_to_expanded(T0* a1){
T0* _type=NULL;
T0* _rc=NULL;
T2 _i=0;
_i=1;
while (!((_i)>((/*RF2*/((T55*)(oBC49run_class_dictionary))->_count/*36*/))))
{
_rc=r55item((T55*)(oBC49run_class_dictionary),_i);
_type=(/*RF2*/(((T50*)_rc))->_current_type/*0*/);
/*[IF*/
if(X52is_expanded(_type)){
/*[IF*/
if(X52is_a(_type,a1)){
_type=X52actual_reference(_type,a1);
_rc=X52run_class(_type);
/*[IF*/
if(!((/*RF2*/(((T50*)_rc))->_at_run_time/*8*/))){
r50set_at_run_time(((T50*)_rc));
r50falling_down((T50*)(X52run_class(a1)));
}
/*FI]*/
}
else{
/*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)((T7*)(oBC66explanation))))->_count)=(0);
/*]*/
/*[IRF3.3clear*/((((T67*)((T67*)(oBC66positions))))->_upper)=(-(1));
/*]*/
/*]*/
}
/*FI]*/
}
/*FI]*/
_i=(_i)+(1);
}
}
T0*oBC13id_provider=NULL;
int fBC13id_provider=0;
T0* r49id_provider(void){
if(fBC13id_provider==0){fBC13id_provider=1;{
{T39*n=((T39*)malloc(sizeof(*n))/*4*/);
*n=M39;
oBC13id_provider=((T0*)n);
r39make(n);
}
}}
return oBC13id_provider;
}
T0* r206value(T206* C,T2 a1){
T0* R=NULL;
/*[IF*/
if((a1)==(1)){
R=(/*RF2*/(C)->_first_value/*24*/);
}
else{
R=/*(IRF4.6item*/((/*RF2*/((T207*)((/*RF2*/(C)->_remainder/*28*/)))->_storage/*4*/))[(a1)-(2)]/*)*/;
}
/*FI]*/
return R;
}
T0* r206try_to_undefine_aux(T206* C,T0* a1,T0* a2){
T0* R=NULL;
{T68 se_tmp0;
r66add_position((*(se_tmp0=r206start_position(C),&se_tmp0)));
}
{T68 se_tmp0;
r206error((*(se_tmp0=X82start_position(a1),&se_tmp0)),((T0*)ms200_98784));
}
r51fatal_undefine(((T51*)a2),a1);
return R;
}
T0* r206try_to_undefine(T206* C,T0* a1,T0* a2){
T0* R=NULL;
T0* _fn2=NULL;
{T68 se_tmp0;
r66add_position((*(se_tmp0=X82start_position(a1),&se_tmp0)));
}
_fn2=r83feature_name((T83*)((/*RF2*/(C)->_names/*8*/)),X82to_key(a1));
/*[IF*/
if((_fn2)!=((void*)(NULL))){
X82undefine_in(_fn2,a2);
}
/*FI]*/
/*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)((T7*)(oBC66explanation))))->_count)=(0);
/*]*/
/*[IRF3.3clear*/((((T67*)((T67*)(oBC66positions))))->_upper)=(-(1));
/*]*/
/*]*/
R=r206try_to_undefine_aux(C,a1,a2);
/*[IF*/
if((R)!=((void*)(NULL))){
X284set_clients(R,(/*RF2*/(C)->_clients/*16*/));
r206merge_header_comments(C,R);
}
else{
r51fatal_undefine(((T51*)a2),a1);
}
/*FI]*/
return R;
}
void r206check_obsolete(T206* C,T68 a1){
/*[IF*/
/*AF*//*AE*/
/*FI]*/
}
T0* r206to_run_feature(T206* C,T0* a1,T0* a2){
T0* R=NULL;
T0* _rc=NULL;
_rc=X52run_class(a1);
R=r50at(((T50*)_rc),a2);
if(NULL!=(R)){
switch(((T0*)R)->id){
case 388:
break;
default:
R=NULL;
}
}/*[IF*/
if((R)==((void*)(NULL))){
{T388*n=((T388*)malloc(sizeof(*n))/*36*/);
*n=M388;
r388make(n,a1,a2,(T0*)C);
R=((T0*)n);
}
}
/*FI]*/
return R;
}
void r206error(T68 a1,T0* a2){
r66add_position(a1);
/*[IRF3.6append*/{T0* b1=a2;
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_error((T66*)(oBC13eh));
}
T6 r206is_not_mergeable_with(T206* C,T0* a1){
T6 R=0;
/*[IF*/
if(((/*RF2*/(C)->_result_type/*20*/))==((void*)(NULL))){
R=(X90result_type(a1))!=((void*)(NULL));
}
else{
R=(X90result_type(a1))==((void*)(NULL));
}
/*FI]*/
/*[IF*/
if(R){
/*[IRF3.6append*/{T0* b1=((T0*)ms90_64152);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
}
else{
/*[IF*/
{/*AT*/R=(X90arguments(a1))!=((void*)(NULL));
}
/*FI]*/
/*[IF*/
if(R){
/*[IRF3.6append*/{T0* b1=((T0*)ms90_82612);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
}
else {/*AT*/}
/*FI]*/
}
/*FI]*/
r206merge_header_comments(C,a1);
return R;
}
void r206make(T206* C,T0* a1,T0* a2,T0* a3){
T2 _i=0;
/*[IRF3.3make_e_feature*/((((T206*)(C)))->_names)=(a1);
/*]*/
(/*SFN*/C->_result_type)=a2;
(/*SFN*/C->_first_value)=a3;
_i=r83count((T83*)((/*RF2*/(C)->_names/*8*/)));
/*[IF*/
if((_i)>(1)){
_i=(_i)-(1);
{T207*n=((T207*)malloc(sizeof(*n))/*16*/);
*n=M207;
r207make(n,_i);
(/*SFN*/C->_remainder)=((T0*)n);
}
while (!((_i)==(0)))
{
_i=(_i)-(1);
/*[IRF3.5put*/((/*RF2*/((T207*)((/*RF2*/(C)->_remainder/*28*/)))->_storage/*4*/))[_i]=(r161twin(((T161*)a3)));
/*]*/
}
}
/*FI]*/
}
void r206add_into(T206* C,T0* a1){
T0* _fn=NULL;
T2 _i=0;
{T68 se_tmp0;
(/*SFN*/C->_base_class)=(/*RF2*/((*(se_tmp0=X82start_position(r83item((T83*)((/*RF2*/(C)->_names/*8*/)),1)),&se_tmp0)))._base_class/*0*/);
}
_i=1;
while (!((_i)>(r83count((T83*)((/*RF2*/(C)->_names/*8*/))))))
{
_fn=r83item((T83*)((/*RF2*/(C)->_names/*8*/)),_i);
/*[IF*/
if(r91has(((T91*)a1),X82to_key(_fn))){
_fn=/*SSFRF4*//*X90first_name*//*(IRF4.6first_name*/(/*RF2*/(((T83*)((/*RF2*/((T198*)(r91at(((T91*)a1),X82to_key(_fn))))->_names/*8*/))))->_first/*0*/)/*)*/;
{T68 se_tmp0;
r66add_position((*(se_tmp0=X82start_position(_fn),&se_tmp0)));
}
{T68 se_tmp0;
r66add_position((*(se_tmp0=X82start_position(r83item((T83*)((/*RF2*/(C)->_names/*8*/)),_i)),&se_tmp0)));
}
/*[IRF3.6append*/{T0* b1=((T0*)ms90_41470);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=X82to_string(_fn);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T0*)ms14_46);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_error((T66*)(oBC13eh));
}
else{
r91put(((T91*)a1),(T0*)C,X82to_key(_fn));
}
/*FI]*/
_i=(_i)+(1);
}
}
T6 r206can_hide(T206* C,T0* a1,T0* a2){
T6 R=0;
/*[IF*/
if(((/*RF2*/(C)->_result_type/*20*/))!=((void*)(X90result_type(a1)))){
/*[IF*/
if((((/*RF2*/(C)->_result_type/*20*/))==((void*)(NULL)))||((X90result_type(a1))==((void*)(NULL)))){
{T68 se_tmp0;
r66add_position((*(se_tmp0=X90start_position(a1),&se_tmp0)));
}
{T68 se_tmp0;
r206error((*(se_tmp0=r206start_position(C),&se_tmp0)),((T0*)ms90_64152));
}
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X90arguments(a1)))){
/*[IF*/
{/*AT*/{T68 se_tmp0;
r66add_position((*(se_tmp0=X90start_position(a1),&se_tmp0)));
}
{T68 se_tmp0;
r206error((*(se_tmp0=r206start_position(C),&se_tmp0)),((T0*)ms90_82612));
}
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if((/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)==(0)){
/*[IF*/
if(((/*RF2*/(C)->_result_type/*20*/))!=((void*)(NULL))){
/*[IF*/
if(!(X52is_a_in((/*RF2*/(C)->_result_type/*20*/),X90result_type(a1),a2))){
/*[IRF3.6append*/{T0* b1=((T0*)ms90_51136);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=X52run_time_mark((/*RF2*/(((T50*)a2))->_current_type/*0*/));
r7append((T7*)(oBC66explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T0*)ms14_46);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_error((T66*)(oBC13eh));
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if((/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)==(0)){
/*[IF*/
/*AF*//*AE*/
/*FI]*/
}
/*FI]*/
R=(/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)==(0);
/*[IF*/
if(R){
r206merge_header_comments(C,a1);
}
/*FI]*/
return R;
}
void r206merge_header_comments(T206* C,T0* a1){
/*[IF*/
if((/*RF2*/((T49*)(oBC13small_eiffel))->_short_flag/*5*/)){
/*[IF*/
if(((/*RF2*/(C)->_header_comment/*12*/))==((void*)(NULL))){
(/*SFN*/C->_header_comment)=/*SSWARF2*//*X90header_comment*/(/*RF2*/(((T198*)a1))->_header_comment/*12*/);
}
else if((/*SSWARF2*//*X90header_comment*/(/*RF2*/(((T198*)a1))->_header_comment/*12*/))==((void*)(NULL))){
X90set_header_comment(a1,(/*RF2*/(C)->_header_comment/*12*/));
}
/*FI]*/
}
/*FI]*/
}
T68 r206start_position(T206* C){
T68 R={NULL,0};
{T68 se_tmp0;
R=(*(se_tmp0=X82start_position(/*(IRF4.6first_name*/(/*RF2*/(((T83*)((/*RF2*/(C)->_names/*8*/))))->_first/*0*/)/*)*/),&se_tmp0));
}
return R;
}
T0* r230add_comment(T230* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r44count(((T44*)((/*RF2*/(((T81*)a1))->_list/*8*/))))/*)*/)==(0))){
R=((T0*)(C));
}
/*AF*/else{
{T224*n=((T224*)malloc(sizeof(*n))/*12*/);
*n=M224;
r224make(n,(T0*)C,a1);
R=((T0*)n);
}
}
/*FI]*/
return R;
}
void r230compile_to_c(T230* C){
/*[IF*/
if(r47no_check((T47*)(oBC13run_control))){
/*SSPRF3*//*X334c_assertion_flag*/r368c_assertion_flag((T368*)((/*RF2*/(C)->_run_feature/*12*/)));
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms230_716));
/*]*/
}
/*FI]*/
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms230_10128));
/*]*/
}
T0* r230to_runnable(T230* C,T0* a1){
T0* R=NULL;
T0* _rf=NULL;
_rf=r49top_rf((T49*)(oBC13small_eiffel));
/*[IF*/
if(((/*RF2*/(C)->_run_feature/*12*/))==((void*)(NULL))){
(/*SFN*/C->_run_feature)=_rf;
R=((T0*)(C));
}
else if(((/*RF2*/(C)->_run_feature/*12*/))==((void*)(_rf))){
R=((T0*)(C));
}
else{
{T230*n=((T230*)malloc(sizeof(*n))/*16*/);
*n=M230;
/*[IRF3.3make*/((((T230*)(n)))->_start_position)=((/*RF2*/(C)->_start_position/*4*/));
/*]*/
R=((T0*)n);
}
R=r230to_runnable(((T230*)R),a1);
}
/*FI]*/
return R;
}
void r125compile_to_c_old(T125* C){
X104compile_to_c_old((/*RF2*/(C)->_target/*4*/));
/*[IF*/
{/*AT*//*SSPRF3*//*X139compile_to_c_old*/r139compile_to_c_old((T139*)((/*RF2*/(C)->_arguments/*8*/)));
}
/*FI]*/
}
T0* r125runnable_expression(T0* a1,T0* a2){
T0* R=NULL;
R=X104to_runnable(a1,a2);
/*[IF*/
if((R)==((void*)(NULL))){
{T68 se_tmp0;
r66add_position((*(se_tmp0=X104start_position(a1),&se_tmp0)));
}
r125fatal_error(((T0*)ms116_16290));
}
/*FI]*/
return R;
}
void r125run_feature_has_result(T125* C){
/*[IF*/
if((X334result_type((/*RF2*/(C)->_run_feature/*16*/)))==((void*)(NULL))){
{T68 se_tmp0;
r66add_position((*(se_tmp0=X334start_position((/*RF2*/(C)->_run_feature/*16*/)),&se_tmp0)));
}
r66add_position((/*RF2*/((T129*)((/*RF2*/(C)->_feature_name/*12*/)))->_start_position/*4*/));
r125fatal_error(((T0*)ms115_53215));
}
/*FI]*/
}
void r125run_feature_match(T125* C,T0* a1){
r125run_feature_has_result(C);
X139match_with((/*RF2*/(C)->_arguments/*8*/),(/*RF2*/(C)->_run_feature/*16*/),a1);
}
T0* r125add_comment(T125* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r44count(((T44*)((/*RF2*/(((T81*)a1))->_list/*8*/))))/*)*/)==(0))){
R=((T0*)(C));
}
else{
{T229*n=((T229*)malloc(sizeof(*n))/*12*/);
*n=M229;
r229make(n,(T0*)C,a1);
R=((T0*)n);
}
}
/*FI]*/
return R;
}
void r125with(T125* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){
(/*SFN*/C->_target)=a1;
(/*SFN*/C->_feature_name)=a2;
(/*SFN*/C->_arguments)=a3;
(/*SFN*/C->_run_feature)=a4;
r125run_feature_match(C,a5);
}
void r125mapping_c_target(T125* C,T0* a1){
T0* _actual_type=NULL;
T6 _flag=0;
_flag=r325call_invariant_start(a1);
_actual_type=X52run_type(r125result_type(C));
/*[IF*/
if(X52is_reference(_actual_type)){
/*[IF*/
if(X52is_reference(a1)){
X52mapping_cast(a1);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\50');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T125* C1=C;
r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
else{
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T125* C1=C;
r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
}/*]*/
/*]*/
}
/*FI]*/
}
else{
/*[IF*/
if(X52is_reference(a1)){
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T125* C1=C;
r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
}/*]*/
/*]*/
}
else{
/*[IF*/
if(X52need_c_struct(a1)){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\46');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\50');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T125* C1=C;
r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
else{
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T125* C1=C;
r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
}/*]*/
/*]*/
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(_flag){
/*[IRF3.2call_invariant_end*//*[IRF3.6put_character*/{T48* C1=(T48*)(oBC325out_c);
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
}
void r125afd_check(T125* C){
T0* _running=NULL;
T0* _rc=NULL;
/*[IF*/
if(((/*RF2*/(C)->_run_feature/*16*/))!=((void*)(NULL))){
_rc=X52run_class(X104result_type((/*RF2*/(C)->_target/*4*/)));
_running=(/*RF2*/(((T50*)_rc))->_running/*9*/);
/*[IF*/
if((_running)==((void*)(NULL))){
}
else if((r53count(((T53*)_running)))>(1)){
r351update((/*RF2*/(C)->_target/*4*/),(/*RF2*/(C)->_run_feature/*16*/));
}
/*FI]*/
}
/*FI]*/
X104afd_check((/*RF2*/(C)->_target/*4*/));
/*[IF*/
{/*AT*//*SSPRF3*//*X139afd_check*/r139afd_check((T139*)((/*RF2*/(C)->_arguments/*8*/)));
}
/*FI]*/
}
void r125c_declare_for_old(T125* C){
X104c_declare_for_old((/*RF2*/(C)->_target/*4*/));
/*[IF*/
{/*AT*//*SSPRF3*//*X139c_declare_for_old*/r139c_declare_for_old((T139*)((/*RF2*/(C)->_arguments/*8*/)));
}
/*FI]*/
}
void r125collect_c_tmp(T125* C){
/*[IF*/
if(((/*RF2*/(C)->_run_feature/*16*/))!=((void*)(NULL))){
X334collect_c_tmp((/*RF2*/(C)->_run_feature/*16*/));
}
/*FI]*/
X104collect_c_tmp((/*RF2*/(C)->_target/*4*/));
/*[IF*/
if(((/*RF2*/(C)->_arguments/*8*/))!=((void*)(NULL))){
/*SSPRF3*//*X139collect_c_tmp*/r139collect_c_tmp((T139*)((/*RF2*/(C)->_arguments/*8*/)));
}
/*FI]*/
}
T0* r125operator(void){
T0* R=NULL;
R=((T0*)ms15_368);
return R;
}
T6 r125use_current(T125* C){
T6 R=0;
/*[IF*/
{/*AT*/R=/*SSFRF4*//*X139use_current*/r139use_current((T139*)((/*RF2*/(C)->_arguments/*8*/)));
}
/*FI]*/
/*[IF*/
if(R){
}
else if(X104is_current((/*RF2*/(C)->_target/*4*/))){
R=X334use_current((/*RF2*/(C)->_run_feature/*16*/));
}
else{
R=X104use_current((/*RF2*/(C)->_target/*4*/));
}
/*FI]*/
return R;
}
T0* r125runnable_args(T0* a1,T0* a2){
T0* R=NULL;
R=X139to_runnable(a1,a2);
/*[IF*/
if((R)==((void*)(NULL))){
{T68 se_tmp0;
r66add_position((*(se_tmp0=X139start_position(a1),&se_tmp0)));
}
r125fatal_error(((T0*)ms14_12870));
}
/*FI]*/
return R;
}
T0* r125to_runnable(T125* C,T0* a1){
T0* R=NULL;
T0* _target_type=NULL;
T0* _argument_type=NULL;
T0* _rf=NULL;
T0* _a=NULL;
T0* _t=NULL;
_t=r125runnable_expression((/*RF2*/(C)->_target/*4*/),a1);
_a=r125runnable_args((/*RF2*/(C)->_arguments/*8*/),a1);
_target_type=X104result_type(_t);
_argument_type=X104result_type(r125arg1(C));
/*[IF*/
if(X52is_real(_argument_type)){
/*[IF*/
if(X52is_integer(_target_type)){
_t=r341implicit_cast((T341*)(oBC13conversion_handler),_t,_argument_type);
}
/*FI]*/
}
else if(X52is_double(_argument_type)){
/*[IF*/
if((X52is_integer(_target_type))||(X52is_real(_target_type))){
_t=r341implicit_cast((T341*)(oBC13conversion_handler),_t,_argument_type);
}
/*FI]*/
}
/*FI]*/
_rf=r125run_feature_for(C,_t,a1);
/*[IF*/
if(((/*RF2*/(C)->_run_feature/*16*/))==((void*)(NULL))){
(/*SFN*/C->_target)=_t;
(/*SFN*/C->_arguments)=_a;
(/*SFN*/C->_run_feature)=_rf;
r125run_feature_match(C,a1);
R=((T0*)(C));
}
else if(((_t)==((void*)((/*RF2*/(C)->_target/*4*/))))&&((_a)==((void*)((/*RF2*/(C)->_arguments/*8*/))))){
R=((T0*)(C));
}
else{
{T125*n=((T125*)malloc(sizeof(*n))/*24*/);
*n=M125;
r125with(n,_t,(/*RF2*/(C)->_feature_name/*12*/),_a,_rf,a1);
R=((T0*)n);
}
}
/*FI]*/
return R;
}
T2 r125to_integer(T125* C){
T2 R=0;
r125error(/*(IRF4.6start_position*/(/*RF2*/(((T129*)((/*RF2*/(C)->_feature_name/*12*/))))->_start_position/*4*/)/*)*/,((T0*)ms14_45441));
return R;
}
T6 r125is_static(T125* C){
T6 R=0;
/*[IF*/
if(X52is_integer(r125result_type(C))){
/*[IF*/
if((X104is_static((/*RF2*/(C)->_target/*4*/)))&&(X104is_static(r125arg1(C)))){
R=1;
(/*SFN*/C->_static_value_mem)=(X104static_value((/*RF2*/(C)->_target/*4*/)))%(X104static_value(r125arg1(C)));
}
/*FI]*/
}
/*FI]*/
return R;
}
void r125finalize(T125* C){
T0* _rf=NULL;
T0* _rc=NULL;
_rf=(/*RF2*/(C)->_run_feature/*16*/);
_rc=X52run_class(/*SSWARF2*//*X334current_type*/(/*RF2*/(((T368*)_rf))->_current_type/*8*/));
(/*SFN*/C->_run_feature)=r50dynamic((T50*)(/*(IRF4.6first*/((/*RF2*/((T53*)((/*RF2*/(((T50*)_rc))->_running/*9*/)))->_storage/*0*/))[0]/*)*/),_rf);
}
void r125error(T68 a1,T0* a2){
r66add_position(a1);
/*[IRF3.6append*/{T0* b1=a2;
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_error((T66*)(oBC13eh));
}
T0* r125result_type(T125* C){
T0* R=NULL;
T0* _tla=NULL;
R=X334result_type((/*RF2*/(C)->_run_feature/*16*/));
/*[IF*/
if(X52is_like_current(R)){
R=/*SSWARF2*//*X334current_type*/(/*RF2*/((T368*)((/*RF2*/(C)->_run_feature/*16*/)))->_current_type/*8*/);
}
else{
_tla=R;
if(NULL!=(_tla)){
switch(((T0*)_tla)->id){
case 257:
break;
default:
_tla=NULL;
}
}/*[IF*/
if((_tla)!=((void*)(NULL))){
R=X52run_type(X104result_type(r125arg1(C)));
}
/*FI]*/
}
/*FI]*/
return R;
}
T0* r125arg1(T125* C){
T0* R=NULL;
R=/*SSFRF4*//*X139first*//*(IRF4.3first*/(/*RF2*/((T139*)((/*RF2*/(C)->_arguments/*8*/)))->_first_one/*4*/)/*)*/;
return R;
}
T6 r125call_proc_call_stupid_switch(T125* C,T0* a1){
T6 R=0;
/*[IF*/
if(((/*RF2*/(C)->_arguments/*8*/))==((void*)(NULL))){
R=1;
}
else{
R=/*SSFRF4*//*X139stupid_switch*/r139stupid_switch((T139*)((/*RF2*/(C)->_arguments/*8*/)),a1);
}
/*FI]*/
/*[IF*/
if(R){
/*[IF*/
if(X104is_current((/*RF2*/(C)->_target/*4*/))){
/*[IF*/
if(r49same_base_feature((/*RF2*/(C)->_run_feature/*16*/),a1)){
R=(X334stupid_switch((/*RF2*/(C)->_run_feature/*16*/),a1))!=((void*)(NULL));
}
else{
R=0;
}
/*FI]*/
}
else{
R=X104stupid_switch((/*RF2*/(C)->_target/*4*/),a1);
}
/*FI]*/
}
/*FI]*/
return R;
}
T0* r125run_feature_for(T125* C,T0* a1,T0* a2){
T0* R=NULL;
T0* _bc=NULL;
T0* _rt=NULL;
T0* _rc=NULL;
_rt=X104result_type(a1);
/*[IF*/
if((_rt)!=((void*)(NULL))){
_rc=X52run_class(_rt);
/*[IF*/
if((_rc)!=((void*)(NULL))){
_bc=r50base_class(((T50*)_rc));
R=r51run_feature_for(((T51*)_bc),_rc,a1,(/*RF2*/(C)->_feature_name/*12*/),a2);
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if((R)==((void*)(NULL))){
r66add_position((/*RF2*/((T129*)((/*RF2*/(C)->_feature_name/*12*/)))->_start_position/*4*/));
/*[IRF3.6append*/{T0* b1=((T0*)ms116_39025);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_fatal_error((T66*)(oBC13eh));
}
/*FI]*/
return R;
}
T0* r125static_result_base_class(T125* C){
T0* R=NULL;
T0* _cn=NULL;
T0* _rt=NULL;
T0* _e_feature=NULL;
T0* _bc=NULL;
_bc=X104static_result_base_class((/*RF2*/(C)->_target/*4*/));
/*[IF*/
if((_bc)!=((void*)(NULL))){
_e_feature=r51e_feature(((T51*)_bc),(/*RF2*/(C)->_feature_name/*12*/));
/*[IF*/
if((_e_feature)!=((void*)(NULL))){
_rt=X90result_type(_e_feature);
/*[IF*/
if((_rt)!=((void*)(NULL))){
_cn=X52static_base_class_name(_rt);
/*[IF*/
if((_cn)!=((void*)(NULL))){
R=r61base_class(((T61*)_cn));
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
return R;
}
void r125make(T125* C,T0* a1,T68 a2,T0* a3){
(/*SFN*/C->_target)=a1;
{T129*n=((T129*)malloc(sizeof(*n))/*20*/);
*n=M129;
r129make(n,r125operator(),a2);
(/*SFN*/C->_feature_name)=((T0*)n);
}
{T139*n=((T139*)malloc(sizeof(*n))/*16*/);
*n=M139;
/*[IRF3.3make_1*/((((T139*)(n)))->_first_one)=(a3);
/*]*/
(/*SFN*/C->_arguments)=((T0*)n);
}
}
void r125fatal_error(T0* a1){
/*[IRF3.6append*/{T0* b1=a1;
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_fatal_error((T66*)(oBC13eh));
}
void r125assertion_check(T125* C,T3 a1){
/*[IF*/
if((a1)==(((T3)'R'))){
X334vape_check_from((/*RF2*/(C)->_run_feature/*16*/),/*(IRF4.6start_position*/(/*RF2*/(((T129*)((/*RF2*/(C)->_feature_name/*12*/))))->_start_position/*4*/)/*)*/);
}
/*FI]*/
X104assertion_check((/*RF2*/(C)->_target/*4*/),a1);
X104assertion_check(r125arg1(C),a1);
}
T6 r125stupid_switch(T125* C,T0* a1){
T6 R=0;
R=r125call_proc_call_stupid_switch(C,a1);
/*[IF*/
if(R){
R=!(X52is_native_array(r125result_type(C)));
}
/*FI]*/
return R;
}
void r344falling_down(T344* C,T0* a1){
T0* _rf3=NULL;
/*[IF*/
if(!((/*RF2*/(C)->_is_off/*0*/))){
_rf3=r50get_memory_dispose(((T50*)a1));
/*[IF*/
if((_rf3)!=((void*)(NULL))){
(/*SFN*/C->_dispose_flag)=1;
}
/*FI]*/
}
/*FI]*/
}
void r344define_gc_info(T0* a1){
T0* _rc=NULL;
T2 _i=0;
/*[IRF3.3clear*/((((T7*)((T7*)(oBC344header))))->_count)=(0);
/*]*/
r7append((T7*)(oBC344header),((T0*)ms14_1736a));
r7extend((T7*)(oBC344header),((T3)'\40'));
r7append((T7*)(oBC344header),((T0*)ms14_9023));
r7append((T7*)(oBC344header),((T0*)ms14_4320));
/*[IRF3.3clear*/((((T7*)((T7*)(oBC344body))))->_count)=(0);
/*]*/
r7append((T7*)(oBC344body),((T0*)ms344_44685));
_i=1;
while (!((_i)>((/*RF2*/(((T55*)a1))->_count/*36*/))))
{
_rc=r55item(((T55*)a1),_i);
r50gc_info_in(((T50*)_rc),oBC344body);
_i=(_i)+(1);
}
r7append((T7*)(oBC344body),((T0*)ms344_4979107));
r325put_c_function((T325*)(oBC13cpp),oBC344header,oBC344body);
}
T0*oBC344header=NULL;
T0* r344type_string(void){
if(fBC13type_string==0){fBC13type_string=1;{
T68 _unknown_position={NULL,0};
{T271*n=((T271*)malloc(sizeof(*n))/*8*/);
*n=M271;
oBC13type_string=((T0*)n);
r271make(n,_unknown_position);
}
}}
return oBC13type_string;
}
void r344initialize_runtime(T344* C){
/*[IF*/
if(!((/*RF2*/(C)->_is_off/*0*/))){
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms344_107256));
/*]*/
}
/*FI]*/
}
void r344allocation_of(T344* C,T0* a1,T0* a2){
/*[IRF3.3clear*/((((T7*)((T7*)(oBC344body))))->_count)=(0);
/*]*/
r344basic_allocation(C,a1,oBC344body,a2);
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),oBC344body);
/*]*/
}
void r344switch_for(T344* C,T0* a1){
T0* _r=NULL;
T0* _ct=NULL;
/*[IRF3.3clear*/((((T7*)((T7*)(oBC344header))))->_count)=(0);
/*]*/
r7append((T7*)(oBC344header),((T0*)ms14_1736a));
r7extend((T7*)(oBC344header),((T3)'\40'));
r7extend((T7*)(oBC344header),((T3)'X'));
_ct=(/*RF2*/(((T50*)a1))->_current_type/*0*/);
X52gc_mark_in(_ct,oBC344header);
r7extend((T7*)(oBC344header),((T3)'\50'));
r7append((T7*)(oBC344header),((T0*)ms14_522));
r7extend((T7*)(oBC344header),((T3)'o'));
r7extend((T7*)(oBC344header),((T3)'\51'));
/*[IRF3.3clear*/((((T7*)((T7*)(oBC344body))))->_count)=(0);
/*]*/
_r=(/*RF2*/(((T50*)a1))->_running/*9*/);
r344sort_running(_r);
r7append((T7*)(oBC344body),((T0*)ms344_8764));
r344c_dicho(C,_r,1,(/*RF2*/(((T53*)_r))->_upper/*8*/));
r7extend((T7*)(oBC344body),((T3)'\175'));
r325put_c_function((T325*)(oBC13cpp),oBC344header,oBC344body);
}
void r344new_native9_in(T344* C,T0* a1,T6 a2){
/*[IF*/
if(((/*RF2*/(C)->_is_off/*0*/))||(!(a2))){
r7append(((T7*)a1),((T0*)ms15_6762));
}
else{
r7append(((T7*)a1),((T0*)ms14_990));
r7extend(((T7*)a1),((T3)'9'));
}
/*FI]*/
}
void r344define_gc_start(T344* C,T0* a1,T0* a2){
/*[IRF3.3clear*/((((T7*)((T7*)(oBC344body))))->_count)=(0);
/*]*/
r7append((T7*)(oBC344body),((T0*)ms344_47450));
/*[IF*/
if((/*RF2*/(C)->_info_flag/*1*/)){
r7append((T7*)(oBC344body),((T0*)ms344_61768));
}
/*FI]*/
r7append((T7*)(oBC344body),((T0*)ms344_627165));
r2append_in(X52id(a1),oBC344body);
r7append((T7*)(oBC344body),((T0*)ms344_44550));
r344just_before_mark(a2);
r7append((T7*)(oBC344body),((T0*)ms14_8764));
r2append_in(X52id(a1),oBC344body);
r7append((T7*)(oBC344body),((T0*)ms344_78660));
/*[IF*/
if((/*RF2*/((T47*)(oBC13run_control))->_generator_used/*10*/)){
r7append((T7*)(oBC344body),((T0*)ms344_107092a));
}
/*FI]*/
/*[IF*/
if((/*RF2*/((T47*)(oBC13run_control))->_generating_type_used/*9*/)){
r7append((T7*)(oBC344body),((T0*)ms344_107092));
}
/*FI]*/
r7append((T7*)(oBC344body),((T0*)ms344_63916));
/*[IF*/
if((/*RF2*/(C)->_info_flag/*1*/)){
r7append((T7*)(oBC344body),((T0*)ms344_11020));
}
/*FI]*/
r325put_c_function((T325*)(oBC13cpp),((T0*)ms344_23655),oBC344body);
}
void r344just_before_mark(T0* a1){
T0* _rc=NULL;
T2 _i=0;
_i=1;
while (!((_i)>((/*RF2*/(((T55*)a1))->_count/*36*/))))
{
_rc=r55item(((T55*)a1),_i);
r50just_before_gc_mark_in(((T50*)_rc),oBC344body);
_i=(_i)+(1);
}
}
T0*oBC344run_class_list=NULL;
void r344new_manifest_string_in(T344* C,T0* a1,T6 a2){
/*[IF*/
if(((/*RF2*/(C)->_is_off/*0*/))||(!(a2))){
r7append(((T7*)a1),((T0*)ms344_14337));
}
else{
r7append(((T7*)a1),((T0*)ms344_57664));
}
/*FI]*/
/*[IF*/
if((a2)&&(r50is_tagged((T50*)(r271run_class((T271*)(r344type_string())))))){
r7append(((T7*)a1),((T0*)ms344_4653));
}
/*FI]*/
}
void r344c_dicho(T344* C,T0* a1,T2 a2,T2 a3){
T0* _rc=NULL;
T2 _m=0;
/*[IF*/
if((a2)==(a3)){
_rc=r53item(((T53*)a1),a2);
X52gc_mark_in((/*RF2*/(((T50*)_rc))->_current_type/*0*/),oBC344body);
r7extend((T7*)(oBC344body),((T3)'\50'));
r7extend((T7*)(oBC344body),((T3)'\50'));
r7extend((T7*)(oBC344body),((T3)'T'));
r2append_in((/*RF2*/(((T50*)_rc))->_id/*4*/),oBC344body);
r7extend((T7*)(oBC344body),((T3)'\52'));
r7extend((T7*)(oBC344body),((T3)'\51'));
r7extend((T7*)(oBC344body),((T3)'o'));
r7extend((T7*)(oBC344body),((T3)'\51'));
r7append((T7*)(oBC344body),((T0*)ms14_138));
}
else{
_m=((a2)+(a3))/(2);
_rc=r53item(((T53*)a1),_m);
r7append((T7*)(oBC344body),((T0*)ms344_6048));
r2append_in((/*RF2*/(((T50*)_rc))->_id/*4*/),oBC344body);
r7append((T7*)(oBC344body),((T0*)ms344_824));
r344c_dicho(C,a1,a2,_m);
r7append((T7*)(oBC344body),((T0*)ms344_5139));
r344c_dicho(C,a1,(_m)+(1),a3);
r7extend((T7*)(oBC344body),((T3)'\175'));
}
/*FI]*/
}
void r344no_gc(T344* C){
(/*SFN*/C->_is_off)=1;
(/*SFN*/C->_info_flag)=0;
}
void r344basic_allocation(T344* C,T0* a1,T0* a2,T0* a3){
T2 _id=0;
T0* _ct=NULL;
_ct=(/*RF2*/(((T50*)a3))->_current_type/*0*/);
_id=(/*RF2*/(((T50*)a3))->_id/*4*/);
r7append(((T7*)a2),a1);
r7extend(((T7*)a2),((T3)'\75'));
/*[IF*/
if((/*RF2*/(C)->_is_off/*0*/)){
r7append(((T7*)a2),((T0*)ms344_492));
r2append_in(_id,a2);
/*[IF*/
if(X52need_c_struct(_ct)){
r7append(((T7*)a2),((T0*)ms344_18887));
r7append(((T7*)a2),a1);
r7append(((T7*)a2),((T0*)ms344_684));
r2append_in(r50c_sizeof(((T50*)a3)),a2);
r7append(((T7*)a2),((T0*)ms344_2706));
r7append(((T7*)a2),a1);
r7append(((T7*)a2),((T0*)ms344_276));
r2append_in(_id,a2);
}
else{
r7append(((T7*)a2),((T0*)ms344_10668));
}
/*FI]*/
}
else if((a1)==((void*)(((T0*)ms14_46782)))){
r7append(((T7*)a2),((T0*)ms344_492a));
r2append_in(_id,a2);
r7append(((T7*)a2),((T0*)ms344_474924));
r2append_in(_id,a2);
}
else{
r7append(((T7*)a2),((T0*)ms14_990));
r2append_in(_id,a2);
r7append(((T7*)a2),((T0*)ms14_162));
}
/*FI]*/
r7append(((T7*)a2),((T0*)ms14_138));
}
void r344allocation(T344* C,T0* a1){
/*[IRF3.3clear*/((((T7*)((T7*)(oBC344body))))->_count)=(0);
/*]*/
r7extend((T7*)(oBC344body),((T3)'T'));
r2append_in((/*RF2*/(((T50*)a1))->_id/*4*/),oBC344body);
r7extend((T7*)(oBC344body),((T3)'\52'));
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),oBC344body);
/*]*/
r344allocation_of(C,((T0*)ms344_110),a1);
}
void r344define2(T344* C){
T0* _root_type=NULL;
T0* _rcd=NULL;
T0* _rc=NULL;
T2 _i=0;
_rcd=oBC49run_class_dictionary;
_root_type=(/*RF2*/((T368*)((/*RF2*/((T49*)(oBC13small_eiffel))->_root_procedure/*0*/)))->_current_type/*8*/);
/*[IRF3.2define_manifest_string_mark*/{T0* _ms=NULL;
T2 _function_count=0;
T2 _ms_count=0;
T2 _mdc=0;
T2 _i=0;
_mdc=(/*RF2*/((T367*)(oBC366mangling_dictionary))->_count/*40*/);
_function_count=1;
r366define_manifest_string_mark_header(_function_count);
_i=1;
while (!((_i)>(_mdc)))
{
/*[IF*/
if((_ms_count)>(300)){
_ms_count=0;
_function_count=(_function_count)+(1);
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms366_53260));
/*]*/
/*[IRF3.5put_integer*/r48put_integer(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),_function_count);
/*]*/
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_600));
/*]*/
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_270a));
/*]*/
r366define_manifest_string_mark_header(_function_count);
}
/*FI]*/
_ms=r367item((T367*)(oBC366mangling_dictionary),_i);
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms366_7020));
/*]*/
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),(/*RF2*/(((T161*)_ms))->_mangling/*28*/));
/*]*/
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms366_42441));
/*]*/
_ms_count=(_ms_count)+(1);
_i=(_i)+(1);
}
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_270a));
/*]*/
}/*]*/
/*[IRF3.3clear*/((((T7*)((T7*)(oBC344body))))->_count)=(0);
/*]*/
r363gc_mark_in(oBC344body);
r325put_c_function((T325*)(oBC13cpp),((T0*)ms344_47995),oBC344body);
r43put_mark_stack_and_registers((T43*)(r344system_tools()));
r344define_gc_start(C,_root_type,_rcd);
r325swap_on_h((T325*)(oBC13cpp));
_i=1;
while (!((_i)>((/*RF2*/(((T55*)_rcd))->_count/*36*/))))
{
_rc=r55item(((T55*)_rcd),_i);
r50gc_define1(((T50*)_rc));
_i=(_i)+(1);
}
/*[IRF3.3swap_on_c*/((((T325*)((T325*)(oBC13cpp))))->_current_out)=(oBC325out_c);
/*]*/
_i=1;
while (!((_i)>((/*RF2*/(((T55*)_rcd))->_count/*36*/))))
{
_rc=r55item(((T55*)_rcd),_i);
r50gc_define2(((T50*)_rc));
_i=(_i)+(1);
}
_i=(/*RF2*/((T56*)(oBC344run_class_list))->_upper/*8*/);
while (!((_i)<(0)))
{
r344switch_for(C,/*(IRF4.6item*/((/*RF2*/((T56*)(oBC344run_class_list))->_storage/*0*/))[_i]/*)*/);
_i=(_i)-(1);
}
/*[IF*/
if((/*RF2*/(C)->_info_flag/*1*/)){
r344define_gc_info(_rcd);
}
/*FI]*/
}
void r344set_info_flag(T344* C){
(/*SFN*/C->_is_off)=0;
(/*SFN*/C->_info_flag)=1;
}
void r344sort_running(T0* a1){
T6 _moved=0;
T2 _buble=0;
T2 _max=0;
T2 _min=0;
_max=(/*RF2*/(((T53*)a1))->_upper/*8*/);
_min=1;
_moved=1;
while (!(!(_moved)))
{
_moved=0;
/*[IF*/
if(((_max)-(_min))>(0)){
_buble=(_min)+(1);
while (!((_buble)>(_max)))
{
/*[IF*/
if(((/*RF2*/((T50*)(r53item(((T53*)a1),(_buble)-(1))))->_id/*4*/))>((/*RF2*/((T50*)(r53item(((T53*)a1),_buble)))->_id/*4*/))){
r53swap(((T53*)a1),(_buble)-(1),_buble);
_moved=1;
}
/*FI]*/
_buble=(_buble)+(1);
}
_max=(_max)-(1);
}
/*FI]*/
/*[IF*/
if((_moved)&&(((_max)-(_min))>(0))){
_moved=0;
_buble=(_max)-(1);
while (!((_buble)<(_min)))
{
/*[IF*/
if(((/*RF2*/((T50*)(r53item(((T53*)a1),_buble)))->_id/*4*/))>((/*RF2*/((T50*)(r53item(((T53*)a1),(_buble)+(1))))->_id/*4*/))){
r53swap(((T53*)a1),_buble,(_buble)+(1));
_moved=1;
}
/*FI]*/
_buble=(_buble)-(1);
}
_min=(_min)+(1);
}
/*FI]*/
}
}
void r344mark_for(T0* a1,T0* a2,T0* a3){
T0* _r=NULL;
T0* _ct=NULL;
_r=(/*RF2*/(((T50*)a3))->_running/*9*/);
/*[IF*/
if((_r)!=((void*)(NULL))){
_ct=(/*RF2*/(((T50*)a3))->_current_type/*0*/);
/*[IF*/
if((X52is_reference(_ct))||(X52is_native_array(_ct))){
r7append(((T7*)a1),((T0*)ms344_8631));
r7append(((T7*)a1),a2);
r7extend(((T7*)a1),((T3)'\51'));
}
/*FI]*/
/*[IF*/
if((r53count(((T53*)_r)))>(1)){
r325incr_switch_count((T325*)(oBC13cpp));
/*[IF*/
if(!(r56fast_has((T56*)(oBC344run_class_list),a3))){
r56add_last((T56*)(oBC344run_class_list),a3);
}
/*FI]*/
r7extend(((T7*)a1),((T3)'X'));
X52gc_mark_in(_ct,a1);
}
else{
r325incr_direct_call_count((T325*)(oBC13cpp));
_ct=(/*RF2*/((T50*)(/*(IRF4.6first*/((/*RF2*/(((T53*)_r))->_storage/*0*/))[0]/*)*/))->_current_type/*0*/);
X52gc_mark_in(_ct,a1);
}
/*FI]*/
r7extend(((T7*)a1),((T3)'\50'));
/*[IF*/
if(X52is_reference(_ct)){
r7extend(((T7*)a1),((T3)'\50'));
/*[IF*/
if((r53count(((T53*)_r)))>(1)){
r7append(((T7*)a1),((T0*)ms344_522));
}
else{
X52c_type_for_target_in(_ct,a1);
}
/*FI]*/
r7extend(((T7*)a1),((T3)'\51'));
}
else if(X52is_user_expanded(_ct)){
r7extend(((T7*)a1),((T3)'\46'));
}
/*FI]*/
r7extend(((T7*)a1),((T3)'\50'));
r7append(((T7*)a1),a2);
r7append(((T7*)a1),((T0*)ms14_604));
}
/*FI]*/
}
T0* r344system_tools(void){
if(fBC13system_tools==0){fBC13system_tools=1;{
{T43*n=((T43*)malloc(sizeof(*n))/*17*/);
*n=M43;
oBC13system_tools=((T0*)n);
r43make(n);
}
}}
return oBC13system_tools;
}
void r344memory_dispose(T0* a1,T0* a2,T0* a3){
T6 _no_check=0;
T0* _rf3=NULL;
_rf3=r50get_memory_dispose(((T50*)a3));
/*[IF*/
if((_rf3)!=((void*)(NULL))){
r7append(((T7*)a1),((T0*)ms344_1148));
r7append(((T7*)a1),a2);
r7append(((T7*)a1),((T0*)ms344_130882));
_no_check=r47no_check((T47*)(oBC13run_control));
/*[IF*/
if(_no_check){
r7append(((T7*)a1),((T0*)ms344_479952));
}
/*FI]*/
r7extend(((T7*)a1),((T3)'r'));
r2append_in((/*RF2*/(((T50*)a3))->_id/*4*/),a1);
X82mapping_c_in((/*RF2*/(((T368*)_rf3))->_name/*12*/),a1);
r7extend(((T7*)a1),((T3)'\50'));
/*[IF*/
if(_no_check){
r7append(((T7*)a1),((T0*)ms344_1188));
}
/*FI]*/
/*[IF*/
if((_no_check)||(r368use_current(((T368*)_rf3)))){
r7extend(((T7*)a1),((T3)'\50'));
X52c_type_for_target_in((/*RF2*/(((T50*)a3))->_current_type/*0*/),a1);
r7extend(((T7*)a1),((T3)'\51'));
r7append(((T7*)a1),a2);
}
/*FI]*/
r7append(((T7*)a1),((T0*)ms14_330));
/*[IF*/
if(_no_check){
r7append(((T7*)a1),((T0*)ms344_120379));
}
/*FI]*/
r7extend(((T7*)a1),((T3)'\175'));
}
/*FI]*/
}
void r344gc_info_before_exit(T344* C){
/*[IF*/
if((/*RF2*/(C)->_is_off/*0*/)){
}
else if((/*RF2*/(C)->_info_flag/*1*/)){
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms344_79398));
/*]*/
}
/*FI]*/
/*[IF*/
if((!((/*RF2*/(C)->_is_off/*0*/)))&&((/*RF2*/(C)->_dispose_flag/*2*/))){
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms344_19812));
/*]*/
}
/*FI]*/
}
T0*oBC344body=NULL;
void r142compile_to_c_old(T142* C){
X104compile_to_c_old((/*RF2*/(C)->_target/*4*/));
/*[IF*/
{/*AT*//*SSPRF3*//*X139compile_to_c_old*/r139compile_to_c_old((T139*)((/*RF2*/(C)->_arguments/*12*/)));
}
/*FI]*/
}
T0* r142runnable_expression(T0* a1,T0* a2){
T0* R=NULL;
R=X104to_runnable(a1,a2);
/*[IF*/
if((R)==((void*)(NULL))){
{T68 se_tmp0;
r66add_position((*(se_tmp0=X104start_position(a1),&se_tmp0)));
}
r142fatal_error(((T0*)ms116_16290));
}
/*FI]*/
return R;
}
void r142run_feature_has_result(T142* C){
/*[IF*/
if((X334result_type((/*RF2*/(C)->_run_feature/*16*/)))==((void*)(NULL))){
{T68 se_tmp0;
r66add_position((*(se_tmp0=X334start_position((/*RF2*/(C)->_run_feature/*16*/)),&se_tmp0)));
}
{T68 se_tmp0;
r66add_position((*(se_tmp0=X82start_position((/*RF2*/(C)->_feature_name/*8*/)),&se_tmp0)));
}
r142fatal_error(((T0*)ms115_53215));
}
/*FI]*/
}
T2 r142static_value(T142* C){
T2 R=0;
T0* _rf=NULL;
T0* _running=NULL;
_running=(/*RF2*/((T50*)(/*SSFRF4*//*X334run_class*/r368run_class((T368*)((/*RF2*/(C)->_run_feature/*16*/)))))->_running/*9*/);
/*[IF*/
if(((_running)!=((void*)(NULL)))&&((r53count(((T53*)_running)))==(1))){
_rf=r50dynamic((T50*)(/*(IRF4.6first*/((/*RF2*/(((T53*)_running))->_storage/*0*/))[0]/*)*/),(/*RF2*/(C)->_run_feature/*16*/));
/*[IF*/
if(X334is_static(_rf)){
R=X334static_value_mem(_rf);
}
/*FI]*/
}
/*FI]*/
return R;
}
void r142run_feature_match(T142* C,T0* a1){
r142run_feature_has_result(C);
X139match_with((/*RF2*/(C)->_arguments/*12*/),(/*RF2*/(C)->_run_feature/*16*/),a1);
}
T0* r142add_comment(T142* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r44count(((T44*)((/*RF2*/(((T81*)a1))->_list/*8*/))))/*)*/)==(0))){
R=((T0*)(C));
}
else{
{T229*n=((T229*)malloc(sizeof(*n))/*12*/);
*n=M229;
r229make(n,(T0*)C,a1);
R=((T0*)n);
}
}
/*FI]*/
return R;
}
void r142with(T142* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){
(/*SFN*/C->_target)=a1;
(/*SFN*/C->_feature_name)=a2;
(/*SFN*/C->_arguments)=a3;
(/*SFN*/C->_run_feature)=a4;
r142run_feature_match(C,a5);
}
void r142mapping_c_target(T142* C,T0* a1){
T0* _actual_type=NULL;
T6 _flag=0;
_flag=r325call_invariant_start(a1);
_actual_type=X52run_type(r142result_type(C));
/*[IF*/
if(X52is_reference(_actual_type)){
/*[IF*/
if(X52is_reference(a1)){
X52mapping_cast(a1);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\50');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T142* C1=C;
r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
else{
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T142* C1=C;
r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
}/*]*/
/*]*/
}
/*FI]*/
}
else{
/*[IF*/
if(X52is_reference(a1)){
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T142* C1=C;
r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
}/*]*/
/*]*/
}
else{
/*[IF*/
if(X52need_c_struct(a1)){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\46');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\50');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T142* C1=C;
r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
else{
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T142* C1=C;
r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
}/*]*/
/*]*/
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(_flag){
/*[IRF3.2call_invariant_end*//*[IRF3.6put_character*/{T48* C1=(T48*)(oBC325out_c);
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
}
void r142afd_check(T142* C){
T0* _running=NULL;
T0* _rc=NULL;
/*[IF*/
if(((/*RF2*/(C)->_run_feature/*16*/))!=((void*)(NULL))){
_rc=X52run_class(X104result_type((/*RF2*/(C)->_target/*4*/)));
_running=(/*RF2*/(((T50*)_rc))->_running/*9*/);
/*[IF*/
if((_running)==((void*)(NULL))){
}
else if((r53count(((T53*)_running)))>(1)){
r351update((/*RF2*/(C)->_target/*4*/),(/*RF2*/(C)->_run_feature/*16*/));
}
/*FI]*/
}
/*FI]*/
X104afd_check((/*RF2*/(C)->_target/*4*/));
/*[IF*/
{/*AT*//*SSPRF3*//*X139afd_check*/r139afd_check((T139*)((/*RF2*/(C)->_arguments/*12*/)));
}
/*FI]*/
}
void r142c_declare_for_old(T142* C){
X104c_declare_for_old((/*RF2*/(C)->_target/*4*/));
/*[IF*/
{/*AT*//*SSPRF3*//*X139c_declare_for_old*/r139c_declare_for_old((T139*)((/*RF2*/(C)->_arguments/*12*/)));
}
/*FI]*/
}
void r142collect_c_tmp(T142* C){
/*[IF*/
if(((/*RF2*/(C)->_run_feature/*16*/))!=((void*)(NULL))){
X334collect_c_tmp((/*RF2*/(C)->_run_feature/*16*/));
}
/*FI]*/
X104collect_c_tmp((/*RF2*/(C)->_target/*4*/));
/*[IF*/
if(((/*RF2*/(C)->_arguments/*12*/))!=((void*)(NULL))){
/*SSPRF3*//*X139collect_c_tmp*/r139collect_c_tmp((T139*)((/*RF2*/(C)->_arguments/*12*/)));
}
/*FI]*/
}
T6 r142use_current(T142* C){
T6 R=0;
/*[IF*/
{/*AT*/R=/*SSFRF4*//*X139use_current*/r139use_current((T139*)((/*RF2*/(C)->_arguments/*12*/)));
}
/*FI]*/
/*[IF*/
if(R){
}
else if(X104is_current((/*RF2*/(C)->_target/*4*/))){
R=X334use_current((/*RF2*/(C)->_run_feature/*16*/));
}
else{
R=X104use_current((/*RF2*/(C)->_target/*4*/));
}
/*FI]*/
return R;
}
T0* r142runnable_args(T0* a1,T0* a2){
T0* R=NULL;
R=X139to_runnable(a1,a2);
/*[IF*/
if((R)==((void*)(NULL))){
{T68 se_tmp0;
r66add_position((*(se_tmp0=X139start_position(a1),&se_tmp0)));
}
r142fatal_error(((T0*)ms14_12870));
}
/*FI]*/
return R;
}
T0* r142to_runnable(T142* C,T0* a1){
T0* R=NULL;
T0* _rf=NULL;
T0* _a=NULL;
T0* _t=NULL;
_t=r142runnable_expression((/*RF2*/(C)->_target/*4*/),a1);
_a=r142runnable_args((/*RF2*/(C)->_arguments/*12*/),a1);
_rf=r142run_feature_for(C,_t,a1);
/*[IF*/
if(((/*RF2*/(C)->_run_feature/*16*/))==((void*)(NULL))){
(/*SFN*/C->_target)=_t;
(/*SFN*/C->_arguments)=_a;
(/*SFN*/C->_run_feature)=_rf;
r142run_feature_match(C,a1);
R=((T0*)(C));
}
else if(((_t)==((void*)((/*RF2*/(C)->_target/*4*/))))&&((_a)==((void*)((/*RF2*/(C)->_arguments/*12*/))))){
R=((T0*)(C));
}
else{
{T142*n=((T142*)malloc(sizeof(*n))/*20*/);
*n=M142;
r142with(n,_t,(/*RF2*/(C)->_feature_name/*8*/),_a,_rf,a1);
R=((T0*)n);
}
}
/*FI]*/
return R;
}
T2 r142to_integer(T142* C){
T2 R=0;
{T68 se_tmp0;
r142error((*(se_tmp0=r142start_position(C),&se_tmp0)),((T0*)ms14_45441));
}
return R;
}
T6 r142is_static(T142* C){
T6 R=0;
T0* _rf=NULL;
T0* _running=NULL;
_running=(/*RF2*/((T50*)(/*SSFRF4*//*X334run_class*/r368run_class((T368*)((/*RF2*/(C)->_run_feature/*16*/)))))->_running/*9*/);
/*[IF*/
if(((_running)!=((void*)(NULL)))&&((r53count(((T53*)_running)))==(1))){
_rf=r50dynamic((T50*)(/*(IRF4.6first*/((/*RF2*/(((T53*)_running))->_storage/*0*/))[0]/*)*/),(/*RF2*/(C)->_run_feature/*16*/));
/*[IF*/
if(X334is_static(_rf)){
R=1;
}
/*FI]*/
}
/*FI]*/
return R;
}
void r142finalize(T142* C){
T0* _rf=NULL;
T0* _rc=NULL;
_rf=(/*RF2*/(C)->_run_feature/*16*/);
_rc=X52run_class(/*SSWARF2*//*X334current_type*/(/*RF2*/(((T368*)_rf))->_current_type/*8*/));
(/*SFN*/C->_run_feature)=r50dynamic((T50*)(/*(IRF4.6first*/((/*RF2*/((T53*)((/*RF2*/(((T50*)_rc))->_running/*9*/)))->_storage/*0*/))[0]/*)*/),_rf);
}
void r142error(T68 a1,T0* a2){
r66add_position(a1);
/*[IRF3.6append*/{T0* b1=a2;
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_error((T66*)(oBC13eh));
}
T0* r142result_type(T142* C){
T0* R=NULL;
T0* _tla=NULL;
R=X334result_type((/*RF2*/(C)->_run_feature/*16*/));
/*[IF*/
if(X52is_like_current(R)){
R=/*SSWARF2*//*X334current_type*/(/*RF2*/((T368*)((/*RF2*/(C)->_run_feature/*16*/)))->_current_type/*8*/);
}
else{
_tla=R;
if(NULL!=(_tla)){
switch(((T0*)_tla)->id){
case 257:
break;
default:
_tla=NULL;
}
}/*[IF*/
if((_tla)!=((void*)(NULL))){
R=X52run_type(X104result_type(r142arg1(C)));
}
/*FI]*/
}
/*FI]*/
return R;
}
T0* r142arg1(T142* C){
T0* R=NULL;
R=/*SSFRF4*//*X139first*//*(IRF4.3first*/(/*RF2*/((T139*)((/*RF2*/(C)->_arguments/*12*/)))->_first_one/*4*/)/*)*/;
return R;
}
T6 r142call_proc_call_stupid_switch(T142* C,T0* a1){
T6 R=0;
/*[IF*/
if(((/*RF2*/(C)->_arguments/*12*/))==((void*)(NULL))){
R=1;
}
else{
R=/*SSFRF4*//*X139stupid_switch*/r139stupid_switch((T139*)((/*RF2*/(C)->_arguments/*12*/)),a1);
}
/*FI]*/
/*[IF*/
if(R){
/*[IF*/
if(X104is_current((/*RF2*/(C)->_target/*4*/))){
/*[IF*/
if(r49same_base_feature((/*RF2*/(C)->_run_feature/*16*/),a1)){
R=(X334stupid_switch((/*RF2*/(C)->_run_feature/*16*/),a1))!=((void*)(NULL));
}
else{
R=0;
}
/*FI]*/
}
else{
R=X104stupid_switch((/*RF2*/(C)->_target/*4*/),a1);
}
/*FI]*/
}
/*FI]*/
return R;
}
T0* r142run_feature_for(T142* C,T0* a1,T0* a2){
T0* R=NULL;
T0* _bc=NULL;
T0* _rt=NULL;
T0* _rc=NULL;
_rt=X104result_type(a1);
/*[IF*/
if((_rt)!=((void*)(NULL))){
_rc=X52run_class(_rt);
/*[IF*/
if((_rc)!=((void*)(NULL))){
_bc=r50base_class(((T50*)_rc));
R=r51run_feature_for(((T51*)_bc),_rc,a1,(/*RF2*/(C)->_feature_name/*8*/),a2);
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if((R)==((void*)(NULL))){
{T68 se_tmp0;
r66add_position((*(se_tmp0=X82start_position((/*RF2*/(C)->_feature_name/*8*/)),&se_tmp0)));
}
/*[IRF3.6append*/{T0* b1=((T0*)ms116_39025);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_fatal_error((T66*)(oBC13eh));
}
/*FI]*/
return R;
}
T0* r142static_result_base_class(T142* C){
T0* R=NULL;
T0* _cn=NULL;
T0* _rt=NULL;
T0* _e_feature=NULL;
T0* _bc=NULL;
_bc=X104static_result_base_class((/*RF2*/(C)->_target/*4*/));
/*[IF*/
if((_bc)!=((void*)(NULL))){
_e_feature=r51e_feature(((T51*)_bc),(/*RF2*/(C)->_feature_name/*8*/));
/*[IF*/
if((_e_feature)!=((void*)(NULL))){
_rt=X90result_type(_e_feature);
/*[IF*/
if((_rt)!=((void*)(NULL))){
_cn=X52static_base_class_name(_rt);
/*[IF*/
if((_cn)!=((void*)(NULL))){
R=r61base_class(((T61*)_cn));
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
return R;
}
void r142make(T142* C,T0* a1,T0* a2,T0* a3){
(/*SFN*/C->_target)=a1;
(/*SFN*/C->_feature_name)=a2;
(/*SFN*/C->_arguments)=a3;
}
void r142fatal_error(T0* a1){
/*[IRF3.6append*/{T0* b1=a1;
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_fatal_error((T66*)(oBC13eh));
}
void r142assertion_check(T142* C,T3 a1){
/*[IF*/
if((a1)==(((T3)'R'))){
{T68 se_tmp0;
X334vape_check_from((/*RF2*/(C)->_run_feature/*16*/),(*(se_tmp0=r142start_position(C),&se_tmp0)));
}
}
/*FI]*/
X104assertion_check((/*RF2*/(C)->_target/*4*/),a1);
X104assertion_check(r142arg1(C),a1);
}
T6 r142stupid_switch(T142* C,T0* a1){
T6 R=0;
R=r142call_proc_call_stupid_switch(C,a1);
/*[IF*/
if(R){
R=!(X52is_native_array(r142result_type(C)));
}
/*FI]*/
return R;
}
T68 r142start_position(T142* C){
T68 R={NULL,0};
{T68 se_tmp0;
R=(*(se_tmp0=X82start_position((/*RF2*/(C)->_feature_name/*8*/)),&se_tmp0));
}
return R;
}
void r140compile_to_c_old(T140* C){
X104compile_to_c_old((/*RF2*/(C)->_target/*4*/));
/*[IF*/
/*AF*//*AE*/
/*FI]*/
}
T0* r140runnable_expression(T0* a1,T0* a2){
T0* R=NULL;
R=X104to_runnable(a1,a2);
/*[IF*/
if((R)==((void*)(NULL))){
{T68 se_tmp0;
r66add_position((*(se_tmp0=X104start_position(a1),&se_tmp0)));
}
r140fatal_error(((T0*)ms116_16290));
}
/*FI]*/
return R;
}
void r140run_feature_has_result(T140* C){
/*[IF*/
if((X334result_type((/*RF2*/(C)->_run_feature/*12*/)))==((void*)(NULL))){
{T68 se_tmp0;
r66add_position((*(se_tmp0=X334start_position((/*RF2*/(C)->_run_feature/*12*/)),&se_tmp0)));
}
{T68 se_tmp0;
r66add_position((*(se_tmp0=X82start_position((/*RF2*/(C)->_feature_name/*8*/)),&se_tmp0)));
}
r140fatal_error(((T0*)ms115_53215));
}
/*FI]*/
}
T2 r140static_value(T140* C){
T2 R=0;
T0* _rf=NULL;
T0* _running=NULL;
T0* _tb=NULL;
T0* _tt=NULL;
T0* _name=NULL;
_tt=X104result_type((/*RF2*/(C)->_target/*4*/));
_name=X82to_string(/*SSWARF2*//*X334name*/(/*RF2*/((T368*)((/*RF2*/(C)->_run_feature/*12*/)))->_name/*12*/));
/*[IF*/
if((((T0*)ms15_34432))==((void*)(_name))){
/*[IF*/
if(X52is_expanded(_tt)){
R=1;
}
/*FI]*/
}
else if((((T0*)ms15_60104))==((void*)(_name))){
/*[IF*/
if(X52is_basic_eiffel_expanded(_tt)){
R=1;
}
/*FI]*/
}
else if(((((T0*)ms15_2765a))==((void*)(_name)))&&(X52is_bit(_tt))){
_tb=_tt;
if(NULL!=(_tb)){
switch(((T0*)_tb)->id){
case 275:case 277:
break;
default:
_tb=NULL;
}
}R=X276nb(_tb);
}
else{
_running=(/*RF2*/((T50*)(/*SSFRF4*//*X334run_class*/r368run_class((T368*)((/*RF2*/(C)->_run_feature/*12*/)))))->_running/*9*/);
/*[IF*/
if(((_running)!=((void*)(NULL)))&&((r53count(((T53*)_running)))==(1))){
_rf=r50dynamic((T50*)(/*(IRF4.6first*/((/*RF2*/(((T53*)_running))->_storage/*0*/))[0]/*)*/),(/*RF2*/(C)->_run_feature/*12*/));
/*[IF*/
if(X334is_static(_rf)){
R=X334static_value_mem(_rf);
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
return R;
}
void r140run_feature_match(T140* C){
r140run_feature_has_result(C);
/*[IF*/
if((X334arguments((/*RF2*/(C)->_run_feature/*12*/)))!=((void*)(NULL))){
{T68 se_tmp0;
r66add_position((*(se_tmp0=X82start_position((/*RF2*/(C)->_feature_name/*8*/)),&se_tmp0)));
}
{T68 se_tmp0;
r66add_position((*(se_tmp0=X334start_position((/*RF2*/(C)->_run_feature/*12*/)),&se_tmp0)));
}
r140fatal_error(((T0*)ms132_50092));
}
/*FI]*/
}
T0* r140add_comment(T140* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r44count(((T44*)((/*RF2*/(((T81*)a1))->_list/*8*/))))/*)*/)==(0))){
R=((T0*)(C));
}
else{
{T229*n=((T229*)malloc(sizeof(*n))/*12*/);
*n=M229;
r229make(n,(T0*)C,a1);
R=((T0*)n);
}
}
/*FI]*/
return R;
}
void r140with(T140* C,T0* a1,T0* a2,T0* a3){
(/*SFN*/C->_target)=a1;
(/*SFN*/C->_feature_name)=a2;
(/*SFN*/C->_run_feature)=a3;
r140run_feature_match(C);
}
void r140mapping_c_target(T140* C,T0* a1){
T0* _actual_type=NULL;
T6 _flag=0;
_flag=r325call_invariant_start(a1);
_actual_type=X52run_type(r140result_type(C));
/*[IF*/
if(X52is_reference(_actual_type)){
/*[IF*/
if(X52is_reference(a1)){
X52mapping_cast(a1);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\50');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
r140compile_to_c(C);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
else{
r140compile_to_c(C);
}
/*FI]*/
}
else{
/*[IF*/
if(X52is_reference(a1)){
r140compile_to_c(C);
}
else{
/*[IF*/
if(X52need_c_struct(a1)){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\46');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\50');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
r140compile_to_c(C);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
else{
r140compile_to_c(C);
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(_flag){
/*[IRF3.2call_invariant_end*//*[IRF3.6put_character*/{T48* C1=(T48*)(oBC325out_c);
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
}
void r140afd_check(T140* C){
T0* _running=NULL;
T0* _rc=NULL;
/*[IF*/
if(((/*RF2*/(C)->_run_feature/*12*/))!=((void*)(NULL))){
_rc=X52run_class(X104result_type((/*RF2*/(C)->_target/*4*/)));
_running=(/*RF2*/(((T50*)_rc))->_running/*9*/);
/*[IF*/
if((_running)==((void*)(NULL))){
}
else if((r53count(((T53*)_running)))>(1)){
r351update((/*RF2*/(C)->_target/*4*/),(/*RF2*/(C)->_run_feature/*12*/));
}
/*FI]*/
}
/*FI]*/
X104afd_check((/*RF2*/(C)->_target/*4*/));
/*[IF*/
/*AF*//*AE*/
/*FI]*/
}
void r140c_declare_for_old(T140* C){
X104c_declare_for_old((/*RF2*/(C)->_target/*4*/));
/*[IF*/
/*AF*//*AE*/
/*FI]*/
}
void r140collect_c_tmp(T140* C){
/*[IF*/
if(((/*RF2*/(C)->_run_feature/*12*/))!=((void*)(NULL))){
X334collect_c_tmp((/*RF2*/(C)->_run_feature/*12*/));
}
/*FI]*/
X104collect_c_tmp((/*RF2*/(C)->_target/*4*/));
/*[IF*/
/*AF*//*AE*/
/*FI]*/
}
T6 r140use_current(T140* C){
T6 R=0;
/*[IF*/
/*AF*//*AE*/
/*FI]*/
/*[IF*/
if(R){
}
else if(X104is_current((/*RF2*/(C)->_target/*4*/))){
R=X334use_current((/*RF2*/(C)->_run_feature/*12*/));
}
else{
R=X104use_current((/*RF2*/(C)->_target/*4*/));
}
/*FI]*/
return R;
}
T0* r140to_runnable(T140* C,T0* a1){
T0* R=NULL;
T0* _path=NULL;
T2 _line=0;
T0* _rf=NULL;
T0* _t=NULL;
{T68 se_tmp0;
_line=r68line(&((*(se_tmp0=X104start_position((/*RF2*/(C)->_target/*4*/)),&se_tmp0))));
}
{T68 se_tmp0;
_path=r68path(&((*(se_tmp0=X104start_position((/*RF2*/(C)->_target/*4*/)),&se_tmp0))));
}
_t=r140runnable_expression((/*RF2*/(C)->_target/*4*/),a1);
_rf=r140run_feature_for(C,_t,a1);
/*[IF*/
if(((/*RF2*/(C)->_run_feature/*12*/))==((void*)(NULL))){
(/*SFN*/C->_target)=_t;
(/*SFN*/C->_run_feature)=_rf;
r140run_feature_match(C);
R=((T0*)(C));
}
else if((_t)==((void*)((/*RF2*/(C)->_target/*4*/)))){
R=((T0*)(C));
}
else{
{T140*n=((T140*)malloc(sizeof(*n))/*16*/);
*n=M140;
r140with(n,_t,(/*RF2*/(C)->_feature_name/*8*/),_rf);
R=((T0*)n);
}
}
/*FI]*/
return R;
}
T2 r140to_integer(T140* C){
T2 R=0;
T0* _rf1=NULL;
_rf1=(/*RF2*/(C)->_run_feature/*12*/);
if(NULL!=(_rf1)){
switch(((T0*)_rf1)->id){
case 388:
break;
default:
_rf1=NULL;
}
}/*[IF*/
if((_rf1)==((void*)(NULL))){
{T68 se_tmp0;
r140error((*(se_tmp0=r140start_position(C),&se_tmp0)),((T0*)ms14_45441));
}
}
else{
R=X104to_integer((/*RF2*/(((T388*)_rf1))->_value/*28*/));
}
/*FI]*/
return R;
}
T6 r140is_static(T140* C){
T6 R=0;
T0* _rf=NULL;
T0* _running=NULL;
T0* _tt=NULL;
T0* _name=NULL;
_tt=X104result_type((/*RF2*/(C)->_target/*4*/));
_name=X82to_string(/*SSWARF2*//*X334name*/(/*RF2*/((T368*)((/*RF2*/(C)->_run_feature/*12*/)))->_name/*12*/));
/*[IF*/
if((((T0*)ms15_34432))==((void*)(_name))){
R=1;
}
else if((((T0*)ms15_60104))==((void*)(_name))){
R=1;
}
else if(((((T0*)ms15_2765a))==((void*)(_name)))&&(X52is_bit(_tt))){
R=1;
}
else{
_running=(/*RF2*/((T50*)(/*SSFRF4*//*X334run_class*/r368run_class((T368*)((/*RF2*/(C)->_run_feature/*12*/)))))->_running/*9*/);
/*[IF*/
if(((_running)!=((void*)(NULL)))&&((r53count(((T53*)_running)))==(1))){
_rf=r50dynamic((T50*)(/*(IRF4.6first*/((/*RF2*/(((T53*)_running))->_storage/*0*/))[0]/*)*/),(/*RF2*/(C)->_run_feature/*12*/));
/*[IF*/
if(X334is_static(_rf)){
R=1;
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
return R;
}
void r140finalize(T140* C){
T0* _rf=NULL;
T0* _rc=NULL;
_rf=(/*RF2*/(C)->_run_feature/*12*/);
_rc=X52run_class(/*SSWARF2*//*X334current_type*/(/*RF2*/(((T368*)_rf))->_current_type/*8*/));
(/*SFN*/C->_run_feature)=r50dynamic((T50*)(/*(IRF4.6first*/((/*RF2*/((T53*)((/*RF2*/(((T50*)_rc))->_running/*9*/)))->_storage/*0*/))[0]/*)*/),_rf);
}
void r140error(T68 a1,T0* a2){
r66add_position(a1);
/*[IRF3.6append*/{T0* b1=a2;
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_error((T66*)(oBC13eh));
}
T0* r140result_type(T140* C){
T0* R=NULL;
R=X334result_type((/*RF2*/(C)->_run_feature/*12*/));
/*[IF*/
if(X52is_like_current(R)){
R=/*SSWARF2*//*X334current_type*/(/*RF2*/((T368*)((/*RF2*/(C)->_run_feature/*12*/)))->_current_type/*8*/);
}
/*FI]*/
return R;
}
T6 r140can_be_dropped(T140* C){
T6 R=0;
/*[IF*/
if(X104can_be_dropped((/*RF2*/(C)->_target/*4*/))){
R=X334can_be_dropped((/*RF2*/(C)->_run_feature/*12*/));
}
/*FI]*/
return R;
}
T6 r140call_proc_call_stupid_switch(T140* C,T0* a1){
T6 R=0;
/*[IF*/
{/*AT*/R=1;
}
/*FI]*/
/*[IF*/
if(R){
/*[IF*/
if(X104is_current((/*RF2*/(C)->_target/*4*/))){
/*[IF*/
if(r49same_base_feature((/*RF2*/(C)->_run_feature/*12*/),a1)){
R=(X334stupid_switch((/*RF2*/(C)->_run_feature/*12*/),a1))!=((void*)(NULL));
}
else{
R=0;
}
/*FI]*/
}
else{
R=X104stupid_switch((/*RF2*/(C)->_target/*4*/),a1);
}
/*FI]*/
}
/*FI]*/
return R;
}